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

How to automatically pick file as kafka producer's input?

我刚开始学习 Kafka。我做了很多谷歌搜索,但仍然没有头绪:我如何自动拾取文件夹中的文件作为生产者的输入,从而被消费者拾取?谢谢你。 作为起点,我尝试了以下代码但它不起作用(简单地退出而没有错误):

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

更新如下:

我尝试了与创建生产者和消费者完全相同的方式,我看到有一次消费者逐行收到 csv 内容,但是,不完整。 我立即再次尝试,我再也看不到结果了。 然后我做了console-producer和consumer收到消息,然后我做了文件输入,consumer收到了但是顺序不对,请参考截图。

test.csv:

制作人:

消费者:

终止控制台生产者并启动文件生产者

消费者没有任何反应:

终止消费者并在重启生产者(文件)后重启它: 消费者收到文件:

请注意顺序不是原来的顺序

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

序列似乎又是"wrong"?

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

顺便说一句:我测试了我的互联网连接速度,下载和上传都在 10Mb/s 左右

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

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