如何自动选择文件作为kafka生产者的输入?

时间:2017-02-21 01:24:07

标签: apache-kafka kafka-producer-api

我刚开始学习Kafka。我做了很多谷歌搜索,但仍然没有线索:我怎样才能自动获取文件夹中丢弃的文件作为生产者的输入,从而被消费者接收?谢谢。 作为一个起点,我尝试了以下代码并且它没有工作(只需退出而没有错误):

./kafka-console-producer.sh --broker-list sandbox.hortonworks.com:6667 --topic kafka-topic1 < test.csv

enter image description here

以下是更新:

我尝试的方式与创建生产者和消费者的方式完全相同,我曾经看到消费者逐行接收csv内容,但不完整。 我立刻再次尝试,我再也看不到结果了。 然后我做了控制台生产者和消费者收到的消息,就在我输入文件后,消费者收到但是顺序错误,请参考屏幕截图。

test.csv:

enter image description here

生产者:

enter image description here

消费者:

enter image description here

终止console-producer并启动文件生成器

enter image description here

消费者没有任何事情发生:

enter image description here

终止使用者并在重启生成器(文件)后重新启动它: 消费者收到了文件:

enter image description here

请注意序列不是原始顺序

再次运行生产者,消费者再次收到它:

enter image description here

序列似乎&#34;错误&#34;再次?

无论如何,这里非常不稳定,有什么线索吗?

BTW:我测试了我的互联网连接速度,下载和上传速度都在10Mb / s以上

1 个答案:

答案 0 :(得分:0)

Kafka Console Producer不适用于此用例。查看Kafka Connect - 它允许设置文件的连续导入:

http://docs.confluent.io/current/connect/connect-filestream/filestream_connector.html