在特定时间运行Confluent JDBC连接器,而不是使用轮询间隔



我们正在尝试使用Confluent JDBC-Source连接器将数据从数据库表复制到KAFKA。问题在于该表中的数据每晚都会完全更新一个,因此我们想在更新表更新后复制最新数据,例如,我们希望连接器每天上午7点运行。那可能吗?

该文档仅显示轮询间隔属性,只有将poll.interval设置为24小时,我们才能使用它,但是然后我们必须在早上7点启动连接器,这并不是真正优雅的解决方案。有更好的方法吗?

谢谢!

kafka和kafka connect并不是为"批处理"设计。也就是说,您可以以批处理驱动的方式使用它,但是将其集成到您描述的那种雏菊链的工作流中的概念不是本地的。

JDBC连接器的轮询间隔是这样,您可以定期检查新数据,以达到源系统上的负载(从轮询)与接收到的数据延迟之间的负载之间的余额。

为什么不将连接器设置为每隔几分钟(或每小时几次),然后将连接器设置为民意调查,然后一旦新数据可用,它将将其拉入。没有新数据,没有新的记录。

另外,您可以使用Kafka Connect REST API以编程方式启动并停止连接器。加载之前,请暂停连接器。加载后,恢复连接器。如果您使用暂停/简历请注意,您仍然需要适当设置轮询间隔。您也可以简单地删除&每次重新创建它。

您还可以考虑基于日志的CDC方法(Pros& Cons)。

最新更新