如何使用kafka生成器从文件中只读取新的更改

时间:2017-05-17 15:51:34

标签: apache-kafka apache-flink kafka-producer-api flink-streaming

我目前正在使用Windows机器,并且能够使用Kafka生产者和消费者通过命令提示读取整个文件。我只需要获取文件中的最新更改,并且需要将其用作Apache flink的输入。我尝试使用this link但由于kafka客户端jar不匹配问题,我无法使用它。

在我当前的方法中,每当我加载整个文件时我都会调用我的生产者,我们每次都需要运行它来查看文件发生的变化。我想过使用线程以及使用java代码比较文件差异的一些方法,但是只有Kafka才有。

1 个答案:

答案 0 :(得分:1)

我最近遇到过类似的问题(但是在Linux中)并按照以下方式解决了这个问题:

tail -f somefile.log | kafka-console-producer.sh ...

在您的情况下,您可以尝试一些Windows替代Linux的尾部:13 Ways to Tail a Log File on Windows & Linux