Kafka Connect 重新读取整个文件以进行 KSQLDB 调试或 KSQLDB 是不是可以在创建查询后插入所有事件?

Posted

技术标签:

【中文标题】Kafka Connect 重新读取整个文件以进行 KSQLDB 调试或 KSQLDB 是不是可以在创建查询后插入所有事件?【英文标题】:Kafka Connect Reread Entire File for KSQLDB Debugging or KSQLDB possiblity to insert all events after query creation?Kafka Connect 重新读取整个文件以进行 KSQLDB 调试或 KSQLDB 是否可以在创建查询后插入所有事件? 【发布时间】:2021-07-20 17:20:29 【问题描述】:

我开始使用 KSQLDB 和 Kafka-connect 进行开发。 Kafka-connect 非常棒,一切都很好,并且如果它检测到过去已经读取过记录,则不会重新读取记录(对生产非常有用)。但是,对于 KSQLDB 查询的开发和调试,有必要重放数据,因为 ksqldb 将在发出的更改时动态创建表条目。如果没有重播,则“测试”查询将保持为空。有什么建议如何在第一次插入文件后使用 kafka connect 重播 csv 文件?也许,ksqldb 有可能在创建表后重新读取整个主题。有初学者的答案吗?

【问题讨论】:

【参考方案1】:

使用不同的名称创建源连接器,或为 CSV 文件指定一个新名称。两者都应该导致它被重新读取。

【讨论】:

这解决了我的问题,你。但是,只有重命名 kafka 连接任务的 name 属性才会触发重新插入。重命名文件以无结尾。【参考方案2】:

我的配置文件也有问题,ksqldb 无法识别

SET 'auto.offset.reset'='earliest';

选项。使用上面的命令,注意 ', 来强制 ksqldb 在创建表/流命令后从头开始重新读取整个主题。每次通过 ksql-cli 或客户端连接时都必须手动设置。

【讨论】:

以上是关于Kafka Connect 重新读取整个文件以进行 KSQLDB 调试或 KSQLDB 是不是可以在创建查询后插入所有事件?的主要内容,如果未能解决你的问题,请参考以下文章

Kafka Connect:如何将String解析为Map

Kafka connect spooldir 动态模式生成器

Debezium Kafka Connect 需要重新启动才能使 PostgreSQL cdc 工作

使用debeziumkafka-connect将postgres数据实时同步到kafka中,表topic重新路由

Kafka Connect - 如何删除连接器

Kafka Connect JDBC Source MySQL 增量同步