寻找有关如何配置Secor以输出按日期时间而不是kafka偏移量分区的胖文件的一些见解。类似于每小时备份kafka主题流。当前,我的common.properties文件包含以下secor配置:

secor.generation=1
secor.consumer.threads=7
secor.messages.per.second=10000
secor.offsets.per.partition=10000000
secor.topic_partition.forget.seconds=600
secor.local.log.delete.age.hours=-1
    secor.file.reader.writer.factory=com.pinterest.secor.io.impl.SequenceFileReaderWriterFactory
secor.max.message.size.bytes=100000
该文件提到分区可以描述消息的日期:
LogFilePath.java:

(第29行)日志文件路径具有以下格式:prefix / topic / partition1 /.../ partitionN / generation_kafkaParition_firstMessageOffset
(第34行)“partition1,...,partitionN是提取的分区名称的列表
从邮件内容。 *例如,分区可以描述
邮件日期,例如dt = 2014-01-01 [...]“

最佳答案

Secor's Readme File:
JSON日期解析器:类似于上面的Thrift解析器,该解析器从JSON消息中提取时间戳并根据日期对输出进行分组。要使用此解析器,请使用属性文件secor.prod.partition.properties启动Secor并设置secor.message.parser.class=com.pinterest.secor.parser.JsonMessageParser。您可以通过设置message.timestamp.name属性来覆盖用于提取时间戳的字段。

07-27 21:08