我想继续用FilePulse源连接器在ksqldb中读取csv文件,但是它不能正常工作。
( a)连接器只读取文件一次或( b)连接器从文件中读取所有数据,但在这种情况下,kafka主题中存在重复(每次连接器读取附加文件,然后将所有数据从文件插入到主题中--不仅仅是更改后的数据)。
有什么办法解决这个问题吗?(连续读取文件中附加的数据或删除kafka主题中的重复)
谢谢
发布于 2022-01-03 01:50:33
据我所知,文件源连接器不跟踪文件内容。连接器只看到一个修改过的文件,因此在任何更新时都会读取整个文件。否则,读取文件一次是预期的行为,您应该在处理逻辑中重置使用者偏移量以处理此问题;例如,在ksql中创建一个表。
如果您想要为附加程序跟踪一个文件,最好选择其他选项,如假脱机连接器或Filebeat/Fluentd (并且实际上被记录为用于将文件读入Kafka的生产级解决方案)。
发布于 2022-03-04 14:22:24
免责声明:我是连接FilePulse的作者
连接FilePulse可能不是连续读取文件的最佳解决方案。正如其他答案中已经提到的:使用解决方案(如:菲莱、弗伦特或洛格斯塔什 )可能是个好主意。
但是,FilePulse实际上支持使用带有读取器属性read.max.wait.ms的LocalRowFileInputReader进行连续阅读。对于一个类似于您的问题,这里有一个旧的答案:Stackoverflow:如何配置kafka-连接-文件脉冲来连续读取文本文件?
https://stackoverflow.com/questions/70558402
复制相似问题