是否可以编写kafka消费者cmd / batch文件以将数据输出到每个窗口的文件中。假设每个窗口有5分钟。每5分钟要创建一个文件。
在kafka中,我们可以将窗口设置为最多30分钟吗?
答案 0 :(得分:0)
每5分钟要创建一个文件
您可以使用HDFS Kafka Connector(作为Confluent Platform的一部分提供)来执行此操作。不需要安装Hadoop即可使用它。
以下是相关的configuration details for the HDFS Connector
tasks.max=1
topics=some_topic
connector.class=io.confluent.connect.hdfs.HdfsSinkConnector
# set to the local filesystem
store.url=file:///path/to/output-dir
# write a file every 5 minutes, one file per-partition
rotate.schedule.interval.ms=300000
# write out JSON-formatted data
format.class=io.confluent.connect.hdfs.json.JsonFormat
否则,您需要一个Kafka Streams流程来处理5分钟的数据,然后输出到新主题。通过该主题,您可以让新的使用者写入控制台或文件。
我们可以将窗口设置为最多30分钟吗?
您可以将主题保留时间设置为30分钟。上面的旋转间隔可以任意设置。