如何使用apache spark和kafka实现变更数据捕获(CDC)?

时间:2019-11-27 13:29:04

标签: apache-spark apache-kafka cdc

我在Java 1.8中使用spark-sql-2.4.1v。和kafka版本spark-sql-kafka-0-10_2.11_2.4.3和kafka-clients_0.10.0.0。

我需要将流数据与存储在RDS中的元数据结合在一起。 但可以添加/更改RDS元数据。

如果我在应用程序中读取并加载RDS表数据,则将其与流数据连接会过时。

我了解,需要使用变更数据捕获(CDC)。 在我的方案中如何实现变更数据捕获(CDC)?

实现变更数据捕获(CDC)的任何线索或示例方法?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以将数据库流式传输到Kafka,以便在Kafka主题上可以使用表的内容以及所有后续更改。从这里可以将其用于流处理。

您可以通过两种不同的方式进行CDC:

  • 基于查询的:使用Kafka Connect JDBC Source轮询数据库中的更改
  • 基于日志:使用以下方法从数据库的事务日志中提取更改:德比兹姆

有关更多详细信息和示例,请参见http://rmoff.dev/ksny19-no-more-silos