【问题标题】:why to use kafka to store cdc data instead directly consume by spark?为什么使用kafka存储cdc数据而不是直接通过spark消费?
【发布时间】:2021-03-25 05:39:12
【问题描述】:

我想使用来自多个数据源的 CDC 数据,例如 cassandra、mysql、Oracle ...等。我浏览了一些文档以将 cdc 数据流式传输到 kafka 并将数据存储到主题中。我在想我不能编写 spark 程序来直接从源中使用数据,而是首先将数据推送到 kafka 主题中,然后 spark 程序连接到 kafka 主题以进一步使用消息。 这是我的几个问题,我正在努力找出答案:

  1. 在两者之间使用 kafka 而不是直接使用 spark 更改的记录有什么重要性?
  2. 在中间使用 kafka 不会给系统增加一些延迟?

【问题讨论】:

  • 可能是因为 Spark 没有可用的库来读取 cdc 数据,而且这些数据对 Spark 以外的其他系统有用?另外,CDC 数据存在于数据库服务器上,您可能不应该在其中运行 Spark 代码,因为它是分布式的

标签: apache-spark apache-kafka cassandra oracle-cdc


【解决方案1】:

您当然可以编写自己的 Spark 应用程序来使用数据,但这样做感觉就像是在重新发明轮子。 Kafka 正在为您解决这个问题,所以您不必这样做。

此外,Kafka 支持从各种来源获取输入以及将数据发布到多个订阅者,包括 Spark 应用程序。

使用 Kafka,可以更轻松地构建应用程序,因为大多数技术都有可用的连接器。干杯!

【讨论】:

  • 好的,谢谢分享信息!只有一个问题,在 mid 中使用 kafka 有什么好处,除了它具有多种技术的连接器并且可以将数据发布到多个订阅者。
  • 如果我有一个来源,例如 cassandra,并且我正在使用 spark 将数据从 cassandra 消耗到 aws s3,并且我正在使用 cassandra-spark 连接器,您能否使用这种类型的要求指定如何使用 kafka有帮助吗?
  • 正如我所说,如果您有一个可以从源获取数据的 Kafka 连接器,那么您不必自己编写代码/应用程序来完成它。这就是优势。干杯!
猜你喜欢
  • 2017-11-08
  • 1970-01-01
  • 1970-01-01
  • 2017-05-04
  • 2021-09-04
  • 1970-01-01
  • 1970-01-01
  • 2020-01-23
  • 2013-11-27
相关资源
最近更新 更多