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

Flink CDC有谁用过jdbcSink 入MySQL 吗 ?

Flink CDC有谁用过jdbcSink 入MySQL 吗 兼容 更新和新增, 部分字段更新,每条记录的字段不固定 比如表有39个字段 ,更新的记录有时只来8个字段,有时只来10个字段 ?希望能做到批量处理

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

    是的,Flink CDC 的 JDBC Sink 可以实现插入新行、更新现有行和删除行的操作。
    然而,Flink CDC JDBC Sink 不支持字段更新的部分更新。这意味着如果记录中的字段数量不固定,则 JDBC Sink 将抛出异常。您可以在表中定义固定的字段数量,并将数据填充到该表中。
    另一种方法是自定义 JDBC Sink,以适应字段数量不固定的场景。您可以编写定制的 JDBC Sink,以处理字段数量的变化,但这需要编程技巧和技术能力。

    2023-11-29 14:38:22
    赞同 1 展开评论 打赏
  • 是的,Flink CDC可以使用JdbcSink将数据写入到MySQL。JdbcSink可以处理数据的更新和新增,并且可以处理每条记录的字段不固定的情况。

    对于部分字段更新的情况,Flink CDC可以通过读取数据库的事务日志(如MySQL的binlog或rowlog)来跟踪数据的变动。对于每条记录的字段不固定的情况,Flink CDC可以在读取数据时,通过数据库的primary key或者unique key来确定哪些字段需要更新。

    对于批量处理的问题,Flink CDC可以通过配置批处理的大小和时间间隔来控制数据的写入频率。你可以参考Flink的官方文档来获取详细的配置步骤。

    需要注意的是,虽然Flink CDC可以处理数据的更新和新增,但是对于数据的删除操作,Flink CDC可能无法直接处理。你可能需要在应用层面进行处理,或者在数据库层面设置数据的逻辑删除。

    2023-11-22 09:31:42
    赞同 展开评论 打赏

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

相关产品

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

    更多
    搭建电商项目架构连接MySQL 立即下载
    搭建4层电商项目架构,实战连接MySQL 立即下载
    PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

    相关镜像