使用 HoodieMultiTableStreamer 进行 Debezium CDC 多表同步入湖的研究报告

先介绍一下大的背景吧,我们已经能通过 Flink CDC 将整个数据库同步到 Kafka 中了,这一部分的实现方案已经汇总在了 《Flink CDC 整库 / 多表同步至 Kafka 方案(附源码)》一文中。接下来要完成的是后半程的工作:读取 Kafka 的 Debezium CDC 数据写入到数据湖的 Hudi 表中,这样就能完整地实现整个数据库同步入湖的设计目标,当然,要求还是:“源库整库 / 多表 => Kafka”是一个作业,“Kakfa => Hudi 整库 / 多表”也是一个作业,这样才有比较强的实用性。

“Kakfa => Hudi 整库 / 多表” 的实现,我们有两个大的调研方向:

  • 利用 Hudi 内置的 HoodieMultiTableStreamer / HoodieMultiTableDeltaStreamer 实现多表入湖
  • 在 Spark 中通过编程(主要是利用 foreachBatch 方法)自主实现将一个 Stream 分流写入多张 Hudi 表(该方案被人验证过,是可行的,但每张的表 schema 信息依赖的是 Spark 的类型推断,这种方式没有使用 Schema Registry 来得安全高效!)

如果两种方案都是可行的,那么前者,也就是使用 Hudi 内置的 HoodieMultiTableStreamer / HoodieMultiTableDeltaStreamer 无疑是更明智的选择,因为作为

最近更新

  1. TCP协议是安全的吗?

    2024-05-25 20:52:15       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-25 20:52:15       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-25 20:52:15       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-25 20:52:15       18 阅读

热门阅读

  1. 大模型框架:vLLM

    2024-05-25 20:52:15       13 阅读
  2. react基础

    2024-05-25 20:52:15       8 阅读
  3. okcc呼叫中心如何创建语音群呼(通知)功能?

    2024-05-25 20:52:15       11 阅读