Kafka Connect JDBC:是否可以在批量模式下加载banle,但前提是 table 中的任何记录发生更改?
Kafka Connect JDBC: Does it possble load banle in bulk mode, but only if any record in table changed?
当我需要将维度 table 加载到 kafka 时,我遇到了这种情况。
因为我想通过 kafka 公开我所有的应用程序数据,这是所有公司的通用方式 departments/products.
但是我的维度只是作为快照是正确的,不可能以增量模式处理它们。因为我添加了 Kafka Stream "batch_id"(加载操作的时间戳)。我知道这是 HACK,但它对我来说工作正常,因为我只想要流事实 table 非常非常大,也不希望有两种不同的方式来公开数据。
所以不,我有能力通过 "bacth_id".
将我的维度处理为具有逻辑 window 的流
但现在我需要按时间间隔(例如 30 秒)加载调光。我的 dimesions add/update/delete 率很低。一些维度不会更新四分之一。
所以我的问题是在某些条件下是否可以使用批量模式。
例如,仅当 table 中的任何记录更改了列“update_datetime?是否可以混合批量 + 时间戳模式?
正如@cricket_007 在他的评论中解释的那样,没有这样的功能。
所以有两种方法可以解决这个问题。
Writec 自定义拉取器或编写自定义插件获得了 kafka-conenct。
我以工作为先。因为我使用 k8s,它很适合维护很多不同的服务。单独的服务更易于监控。
但是,如果您没有适合微服务的基础架构(包括资源协商、服务发现、自动 ci/cd 等)。我建议将自定义插件写入 kafka-connect。
当我需要将维度 table 加载到 kafka 时,我遇到了这种情况。 因为我想通过 kafka 公开我所有的应用程序数据,这是所有公司的通用方式 departments/products.
但是我的维度只是作为快照是正确的,不可能以增量模式处理它们。因为我添加了 Kafka Stream "batch_id"(加载操作的时间戳)。我知道这是 HACK,但它对我来说工作正常,因为我只想要流事实 table 非常非常大,也不希望有两种不同的方式来公开数据。 所以不,我有能力通过 "bacth_id".
将我的维度处理为具有逻辑 window 的流但现在我需要按时间间隔(例如 30 秒)加载调光。我的 dimesions add/update/delete 率很低。一些维度不会更新四分之一。
所以我的问题是在某些条件下是否可以使用批量模式。 例如,仅当 table 中的任何记录更改了列“update_datetime?是否可以混合批量 + 时间戳模式?
正如@cricket_007 在他的评论中解释的那样,没有这样的功能。 所以有两种方法可以解决这个问题。 Writec 自定义拉取器或编写自定义插件获得了 kafka-conenct。 我以工作为先。因为我使用 k8s,它很适合维护很多不同的服务。单独的服务更易于监控。 但是,如果您没有适合微服务的基础架构(包括资源协商、服务发现、自动 ci/cd 等)。我建议将自定义插件写入 kafka-connect。