开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC有个cdc的场景需求,有没有好的方案?

Flink CDC有个cdc的场景需求,
1、上游mysql是同一个实例、同一个库下的三张不同结构的表
2、下游是一张hudi表。考虑基于表名和时间做分区
3、hudi表的时间分区字段来自于三张mysql表的不同字段
4、使用flinksql实现。

请问:有没有好的方案,将读到的三张mysql表的数据,使用JSON给包起来,hudi表事件分区字段来自于不同表的不同字段,事件分区来自于表名?

展开
收起
真的很搞笑 2023-11-07 19:46:14 49 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    为了实现 Flink CDC 将不同结构的表中的数据整合在一起,并基于表名和时间对 Hudi 表进行分区,可以采用以下方法:

    1. 数据转换:使用 map 或 filter 函数将不同结构的数据整理成相同的结构。
    2. JSON 包装:可以将不同结构的数据打包到 JSON 对象中,以便后续的处理。
    3. 时间分区:提取 JSON 中的时间字段,并使用 Hudi 的动态分区功能实现事件分区。
    4. 封装为表:将 JSON 对象封装为表,便于后续的存储。
    2023-11-11 14:57:09
    赞同 展开评论 打赏
  • 将读到的三张表的数据,使用 json 包起来,本身就不是flinkCDC sql 模式能做的,sql 模式下只能做单表,使用 stream 模式,可以满足你这个需求。sql模式如果支持自定义deserializer 就可以。,此回答整理自钉群“Flink CDC 社区”

    2023-11-08 07:42:37
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载