【问题标题】:MS SQL CDC with Kafka Connect and Apache Kafka带有 Kafka Connect 和 Apache Kafka 的 MS SQL CDC
【发布时间】:2018-02-19 07:54:18
【问题描述】:

在我当前的用例中,我使用 Spark 核心从 MS SQL Server 读取数据并对数据进行一些处理并每 1 分钟将其发送到 Kafka,我使用 Spark 和 Phoenix 在 HBase 中维护 CDC 信息表。

但是这种设计存在一些问题,例如如果 MS SQL 记录激增,Spark 处理需要比批处理间隔更多的时间,并且 Spark 最终会将重复记录发送到 Kafka。

作为替代方案,我正在考虑使用 Kafka Connect 从 MS SQL 读取消息并将记录发送到 Kafka 主题并在 Kafka 中维护 MS SQL CDC。 Spark Streaming 将从 Kafka 主题中读取记录,并将记录处理并存储到 HBase 中,然后发送到其他 Kafka 主题。

为了实现这个架构,我有几个问题:

  1. 我能否使用开源 Kafka 连接器和 Apache Kafka 0.9 版本实现此架构。

  2. 1234563 /li>
  3. Kafka 连接是否支持 Kerberos Kafka 设置。

【问题讨论】:

标签: sql-server apache-spark apache-kafka apache-kafka-connect


【解决方案1】:

我可以使用开源 Kafka 连接器和 Apache Kafka 0.9 版本来实现这种架构吗?

  1. 是的,Kafka Connect 是在 Apache Kafka 的version 0.9 中发布的。 Single Message Transforms 等功能直到更高版本才添加。如果可能,您应该使用最新版本的 Apache Kafka (0.11)

如果是,请向我推荐一个 GitHub 项目,它可以为我提供这样的连接器,我可以在其中使用 SQL 查询(例如 SELECT * FROM SOMETHING WHERE COLUMN > ${lastExtractUnixTime})CDC MS SQL 表并将记录存储到 Kafka 主题中.

  1. 您可以使用JDBC Source,它作为Confluent Platform(或separately)的一部分提供,并且可能还想调查kafka-connect-cdc-mssql

Kafka 连接是否支持 Kerberos Kafka 设置。

  1. 是的——见herehere

关于这一点:

Spark Streaming 将从 Kafka 主题中读取记录并将记录处理并存储到 HBase 中,然后发送到其他 Kafka 主题。

您实际上也可以在这里使用 Kafka Connect——HBase 有可用的接收器——请参阅full list of connectors here。 为了进一步处理 Kafka 中的数据,有 Kafka Streams APIKSQL

【讨论】:

  • kafka-connect-cdc-mssql 链接现在是 404
  • kafka-connect-cdc-mssql 现在在 hub.confluent.io 上维护并可用
猜你喜欢
  • 1970-01-01
  • 2020-07-09
  • 2021-01-13
  • 2019-06-02
  • 2019-01-01
  • 2017-03-15
  • 2020-12-27
  • 2021-04-08
  • 2020-01-19
相关资源
最近更新 更多