如何配置 Secor(来自 pinterest)以按一天中的小时对文件进行分区?
How to configure Secor (from pinterest) to partition files by hour of day?
寻找有关如何配置 Secor 以输出按日期时间而不是 kafka 偏移量分区的更胖文件的一些见解。类似于 kafka 主题流的每小时备份。目前,我的 common.properties 文件包含这些扇区配置:
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
此文件提到分区可以描述消息的日期:
(line 29) Log file path has the following form: prefix/topic/partition1/.../partitionN/generation_kafkaParition_firstMessageOffset
(line 34) "partition1, ..., partitionN is the list of partition names extracted
from message content. * E.g., the partition may describe the
message date such as dt=2014-01-01 [...]"
Secor's Readme File:
JSON 日期解析器:从 JSON 消息中提取时间戳并根据日期对输出进行分组的解析器,类似于上面的 Thrift 解析器。要使用此解析器,请使用属性文件 secor.prod.partition.properties
启动 Secor 并设置 secor.message.parser.class=com.pinterest.secor.parser.JsonMessageParser
。您可以通过设置 message.timestamp.name
属性.
来覆盖用于提取时间戳的字段
寻找有关如何配置 Secor 以输出按日期时间而不是 kafka 偏移量分区的更胖文件的一些见解。类似于 kafka 主题流的每小时备份。目前,我的 common.properties 文件包含这些扇区配置:
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
此文件提到分区可以描述消息的日期:
(line 29) Log file path has the following form: prefix/topic/partition1/.../partitionN/generation_kafkaParition_firstMessageOffset
(line 34) "partition1, ..., partitionN is the list of partition names extracted from message content. * E.g., the partition may describe the message date such as dt=2014-01-01 [...]"
Secor's Readme File:
JSON 日期解析器:从 JSON 消息中提取时间戳并根据日期对输出进行分组的解析器,类似于上面的 Thrift 解析器。要使用此解析器,请使用属性文件 secor.prod.partition.properties
启动 Secor 并设置 secor.message.parser.class=com.pinterest.secor.parser.JsonMessageParser
。您可以通过设置 message.timestamp.name
属性.