IoConfig
IoConfig
用于适配实时/离线的数据,比如kafka实时数据和文件批数据。通常需要与firhose
组合配置
1. IoConfig
1.1 luceneIndexIOConfig
luceneIndexIOConfig
一般用于适配离线数据
"ioConfig":{
"type": "lucene_index",
"firehose": FirehoseFactory firehoseFactory
}
属性名 | 值 | 类型 | 是否必需 | 默认值 | 说明 |
---|---|---|---|---|---|
type | lucene_index | string | 是 | - | 指定ioConfig类型,固定值 |
firehose | 参考Firehose |
json | 是 | - | 指定数据连接器,不同的数据来源需要配置不同的连接器 |
1.2 kafkaSupervisorIOConfig
kafkaSupervisorIOConfig
一般用于适配kafka实时数据
"ioConfig":{
"topic": String topic,
"replicas": Integer replicas,
"taskCount": Integer taskCount,
"taskDuration": Period taskDuration,
"consumerProperties": Map<String, String> consumerProperties,
"startDelay" Period startDelay,
"period": Period period,
"useEarliestOffset": Boolean useEarliestOffset,
"completionTimeout": Period completionTimeout,
"lateMessageRejectionPeriod": Period lateMessageRejectionPeriod,
"earlyMessageRejectionPeriod": Period earlyMessageRejectionPeriod,
"skipOffsetGaps": Boolean skipOffsetGaps
}
属性名 | 值 | 类型 | 是否必需 | 默认值 | 说明 |
---|---|---|---|---|---|
topic | 自定义 | string | 是 | - | 指定topic |
replicas | 自定义 | int | 否 | 1 | 指定Task副本数, 1代表没有副本任务 |
taskCount | 自定义 | int | 否 | 1 | 指定同时启动多少Task消费kafka数据 |
taskDuration | 参见Period配置 | string | 否 | P1D | 任务持续时间,超过指定时间后, 任务会停止接收数据, 数据段自动落地并启动新的任务进程。 |
consumerProperties | 自定义 | json | 是 | - | 指定KafkaConsumer的consumerProperties |
startDelay | 参见Period配置 | string | 否 | PT5S | 指定Task启动时延 |
period | 参见Period配置 | string | 否 | PT30S | 指定Task刷新周期,即隔多久检查是否需要启动新的Task |
useEarliestOffset | true/false | boolean | 否 | true | 指定是否从最早的offset开始消费 |
completionTimeout | 参见Period配置 | string | 否 | PT30M | 指定Task落地超时时间 |
lateMessageRejectionPeriod | 参见Period配置 | string | 否 | null | 指定Task允许数据迟到多久,若不配置,则不做限制 |
earlyMessageRejectionPeriod | 参见Period配置 | string | 否 | null | 指定Task允许数据早到多久,若不配置,则不做限制 |
skipOffsetGaps | true/false | boolean | 否 | false | 指定Task是否允许存在不连续的offset |
1.2.1 Period配置
Preiod
一般用于时间周期配置,通过P
/PT
与时间符号来设定具体的周期。支持以下配置
符号 | 代表时间周期 | 示例 | 说明 |
---|---|---|---|
S |
秒 | PT1S (表示1秒时间周期) |
- |
M |
分 | PT1M (表示1分钟时间周期) |
- |
H |
小时 | PT1H (表示1小时时间周期) |
- |
D |
天 | P1D (表示1天时间周期) |
注意一天的周期使用P ,而非PT |
2. FireHose
FireHose
用于配置不同数据源的连接器
2.1 localFirehose
localFirehose
用于采集本地文件
"firehose":{
"type": "local",
"baseDir": String baseDir,
"filter": String filter,
"dirFilter": String dirFilter,
"recursive": Boolean recursive
}
属性名 | 值 | 类型 | 是否必需 | 默认值 | 说明 |
---|---|---|---|---|---|
type | local | string | 是 | - | 指定firehose类型,固定值 |
baseDir | 自定义 | string | 是 | - | 指定采集的本地文件夹; 支持配置多个文件夹,以 , 分隔 |
filter | 自定义 | string | 是 | - | 指定采集哪些文件,以通配符过滤; 若不需过滤,可配置 * /*.* , 其中 * 用于过滤没有后缀名的文件,*.* 过滤有后缀名的文件 |
dirFilter | 自定义 | string | 否 | null | 在recursive=true 时有效,指定采集哪些子文件夹,以通配符过滤; 若不需过滤,则无需配置 |
recursive | true/false | boolean | 否 | true | 是否递归遍历子文件夹 |
2.2 hdfsFirehose
hdfsFirehose
用于采集Hdfs的文本文件
"firehose":{
"type": "hdfs",
"baseDir": String baseDir,
"defaultFS": String defaultFS,
"filter": String filter,
"dirFilter": String dirFilter,
"recursive": Boolean recursive,
"readThreads": Integer readThreads,
"dataQueueThreshold": Integer dataQueueThreshold
}
属性名 | 值 | 类型 | 是否必需 | 默认值 | 说明 |
---|---|---|---|---|---|
type | hdfs | string | 是 | - | 指定firehose类型,固定值 |
baseDir | 自定义 | string | 是 | - | 指定采集的本地文件夹; 支持配置多个文件夹,以 , 分隔 |
filter | 自定义 | string | 是 | - | 指定采集哪些文件,以通配符过滤; 若不需过滤,可配置 * /*.* |
defaultFS | 自定义 | string | 否 | - | 指定hdfs-nameNode节点的url, 如 hdfs://192.168.0.223:8020 ,默认采用系统配置 HADOOP_HOME 所在的Hdfs集群 |
dirFilter | 自定义 | string | 否 | null | 在recursive=true 时有效,指定采集哪些子文件夹,以通配符过滤; 若不需过滤,则无需配置 |
recursive | true/false | boolean | 否 | true | 是否递归遍历子文件夹 |
readThreads | 自定义 | int | 否 | 3 | 是否读取线程数 |
dataQueueThreshold | 自定义 | int | 否 | 5000 | 指定缓存记录数 |
2.3 parquetFirehose
parquetFirehose
用于采集Hdfs的parquet文件
"firehose":{
"type": "parquet",
"baseDir": String baseDir,
"defaultFS": String defaultFS,
"filter": String filter,
"dirFilter": String dirFilter,
"recursive": Boolean recursive,
"readThreads": Integer readThreads,
"dataQueueThreshold": Integer dataQueueThreshold
}
属性名 | 值 | 类型 | 是否必需 | 默认值 | 说明 |
---|---|---|---|---|---|
type | parquet | string | 是 | - | 指定firehose类型,固定值 |
baseDir | 自定义 | string | 是 | - | 指定采集的本地文件夹; 支持配置多个文件夹,以 , 分隔 |
filter | 自定义 | string | 是 | - | 指定采集哪些文件,以通配符过滤; 若不需过滤,可配置 * /*.* |
defaultFS | 自定义 | string | 否 | - | 指定hdfs-nameNode节点的url, 如 hdfs://192.168.0.223:8020 ,默认采用系统配置 HADOOP_HOME 所在的Hdfs集群 |
dirFilter | 自定义 | string | 否 | null | 在recursive=true 时有效,指定采集哪些子文件夹,以通配符过滤; 若不需过滤,则无需配置 |
recursive | true/false | boolean | 否 | true | 是否递归遍历子文件夹 |
readThreads | 自定义 | int | 否 | 3 | 并发读取线程数 |
dataQueueThreshold | 自定义 | int | 否 | 5000 | 指定缓存记录数 |
2.4 jdbcFirehose
jdbcFirehose
用于采集Hdfs的parquet文件
"firehose":{
"type": "jdbc",
"provider": JdbcProvider provider,
"sqls": String[] sqls,
"readThreads": Integer readThreads,
"dataQueueThreshold": Integer dataQueueThreshold
}
属性名 | 值 | 类型 | 是否必需 | 默认值 | 说明 |
---|---|---|---|---|---|
type | jdbc | string | 是 | - | 指定firehose类型,固定值 |
provider | 参见JdbcProvider配置 | json | 是 | - | 指定Jdbc连接信息 |
sqls | 自定义 | array[string] |
是 | - | 查询的sql |
readThreads | 自定义 | int | 否 | 3 | 并发读取线程数 |
dataQueueThreshold | 自定义 | int | 否 | 5000 | 指定缓存记录数 |
2.4.1 JdbcProvider配置
提供Jdbc连接信息
"provider": {
"type": String type,
"url": String url,
"user": String user,
"password": String password,
"encrypt": Boolean encrypt,
"driverClassName":String driverClassName,
"driverPath":String driverPath
}
属性名 | 值 | 类型 | 是否必需 | 默认值 | 说明 |
---|---|---|---|---|---|
type | 自定义 | string | 否 | default | 指定jdbc类型 |
url | 自定义 | string | 是 | - | 指定连接url |
user | 自定义 | string | 是 | - | 指定登录用户 |
password | 自定义 | string | 否 | null | 指定登录密码 |
encrypt | 自定义 | int | 否 | false | 密码是否使用了加密处理 |
driverClassName | 自定义 | string | 是 | - | 指定驱动类 |
driverPath | 自定义 | string | 是 | - | 指定驱动包 |