configuration - PPTV/Pike GitHub Wiki
pike的配置在$PIKE_CONF_DIR下,主要配置参数在pike.yaml中, pike配置参数主要包含数据源及数据输出两大类,此外,也可以配置storm相关参数,用户自定义相关参数也可配置其中,pike在启动时会读取所有配置,作为生成的topology实例的配置。
数据源配置
数据源需要配置数据源表结构以及使用的Spout,以下前两个选项是必须配置的
配置项 |
说明 |
pike.metadata.provider.class |
提供元数据的类,实现com.pplive.pike.metadata.MetaDataProvider接口 |
pike.spout.generator.class |
产生PikeBatchSpout,实现com.pplive.pike.generator.ISpoutGenerator接口 |
pike.output.first_period_output |
是否统计第一个窗口的数据 |
在com.pplive.pike.generator包中pike提供了LocalTextFileSpoutGenerator产生TextFileSpout,KafkaSpoutGenerator产生KafkaSpout。
TextFileSpout
TextFileSpout一般用于本地调试,只有一个提供数据文件的配置
配置项 |
说明 |
pike.spout.local.textfile |
TextFileSpout读取的本地文件路径 |
KafkaSpout
配置项 |
说明 |
pike.spout.kafka.zookeeper.servers |
连接kafka的zk地址 |
pike.spout.kafka.zookeeper.session.timeout.ms |
连接zk的超时时间 |
pike.spout.kafka.data.charset |
数据源编码格式,默认UTF-8 |
pike.spout.kafka.data.field_separator |
数据源分隔符,默认'\t' |
pike.spout.kafka.print_queuedata |
是否打印queue中原始数据,方便调试 |
pike.spout.kafka.print_emitdata |
是否打印解析后即将传送给下游的数据,方便调试 |
pike.spout.kafka.data.timeout.milliseconds |
kafka消费者timeout时间 |
pike.spout.kafka.check_topologyself_killed |
检查topology是否已被kill |
pike.spout.kafka.check_killed.interval_seconds |
检查topology的时间间隔 |
数据输出配置
数据输出主要配置sink类型及其相关参数
配置项 |
说明 |
pike.out.class.name |
输出sink类,实现com.pplive.pike.exec.output.IPikeOutput接口 |
pike.output.target.name |
sink类附加参数,一般是表名或文件名,与sink类一起决定结果位置 |
pike.output.check_topologyself_killed |
输出结果时是否检查topology已被kill |
pike.output.check_min_period_seconds |
检查topology是否已被kill的时间间隔 |
pike.output.last_period_output |
是否输出最后一次的统计结果 |
pike.output.targets.default |
默认输出目的地 |
pike.output.rolling.header |
是否输出结果header |
在com.pplive.pike.exec.output包中提供了TextFileOutput、HdfsOutput、JdbcOutput、SQLServerBulkOutput和HBaseOutput。
TextFileOutput
配置项 |
说明 |
pike.output.fs.path |
HDFS NameNode地址 |
pike.output.file.suffix |
结果文件后缀 |
pike.output.file.single |
结果是否按统计窗口分开 |
pike.output.hdfs.suffix |
结果文件后缀 |
HdfsOutput
配置项 |
说明 |
pike.output.hdfs.host |
HDFS NameNode地址 |
pike.output.hdfs.path |
保存结果的目录 |
pike.output.hdfs.localPath |
保存结果的本地临时目录 |
pike.output.hdfs.suffix |
结果文件后缀 |
pike.output.hdfs.field_separator |
结果记录内字段分隔符 |
pike.output.hdfs.data_separator |
结果记录间分隔符 |
pike.output.hdfs.compressed |
是否才有zip格式压缩结果文件 |
JdbcOutput
配置项 |
说明 |
pike.output.jdbc.driverClassName |
JDBC Driver类名 |
pike.output.jdbc.dbUser |
用户名 |
pike.output.jdbc.dbPassword |
密码 |
pike.output.jdbc.dbUrl |
连接URL |
pike.output.jdbc.batchinsert.maxcount |
每次批量插入的最大记录数 |
SQLServerBulkOutput
配置项 |
说明 |
pike.output.sqlserverbulk.driverClassName |
Driver类名 |
pike.output.sqlserverbulk.dbUser |
用户名 |
pike.output.sqlserverbulk.dbPassword |
密码 |
pike.output.sqlserverbulk.dbUrl |
连接URL |
pike.output.sqlserverbulk.winBulkPath |
保存结果的共享目录 |
pike.output.sqlserverbulk.linuxDBFilePath |
保存结果的目录 |
HBaseOutput
配置项 |
说明 |
pike.output.hbase.hbasekeys |
作为hbase key的结果列,以逗号分隔 |
pike.output.hbase.timestampkey |
作为timestamp的列 |