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

Flink CDC的json是干哈的?

Flink CDC我自定义的DebeziumDeserializationSchema 里面是把数据和类型组装成了row 类型,在通过把流转为table tEnv.fromChangelogStream(mapStream)

你说的json是干哈的?fe8f3c9d4f8ad9a223515c24274455b2.png

展开
收起
真的很搞笑 2023-10-23 15:19:15 71 0
3 条回答
写回答
取消 提交回答
  • 在 Flink CDC 中,JSON(JavaScript Object Notation)是一种常用的数据格式,用于表示和交换结构化数据。Flink CDC 中使用 JSON 格式来序列化和传输变更数据(change data),即记录数据库中发生的数据变化。

    Flink CDC 通过 CDC 消息(Change Data Capture messages)以 JSON 格式的形式将变更数据发布到外部系统,如消息队列或日志文件。这样,外部系统可以基于这些变更数据进行进一步的处理、分析和消费。

    CDC 消息的 JSON 格式通常包括以下字段:

    • database: 数据库的名称。
    • table: 表的名称。
    • type: 变更类型,如插入、更新、删除。
    • data: 变更的数据,以 JSON 对象的形式表示。
    • ts_ms: 变更发生的时间戳。

    使用 JSON 格式的好处是它的灵活性和可读性,以及广泛的支持和工具。JSON 格式易于解析和处理,可以方便地在各种编程语言和系统之间进行数据传递和交换。

    在 Flink CDC 中,您可以通过自定义的 DeserializationSchema 或使用内置的 JSON DeserializationSchema 将 JSON 格式的变更数据转换为 Flink 中的数据类型,以进行进一步的处理和分析。

    需要注意的是,Flink CDC 还支持其他的序列化格式,如 Avro、Debezium 格式等,您可以根据实际需求选择适合的数据格式和序列化/反序列化方案。

    2023-10-24 13:51:21
    赞同 展开评论 打赏
  • 我是这么操作的c0b387c037fe43d76f0455bdc590039a.png75bb1f442899a329eb48a97eee6fa585.png
    你可以把这个原始数据打印出来看看,此回答整理自钉群“Flink CDC 社区”

    2023-10-24 08:54:01
    赞同 展开评论 打赏
  • Flink CDC,指的是Flink的一组Source连接器,它是Flink的核心组件之一。这些连接器的主要职责是从MySQL、PostgreSQL、Oracle、MongoDB等不同的数据库中读取存量的历史数据以及增量的变更数据。CDC全称为Change Data Capture,是一种用于捕获并处理数据库中数据变更的技术。

    关于你提到的json,在Flink 1.11版本中,它主要支持Kafka作为现成的变更日志源和JSON编码的变更日志。因此,json在这里主要是用于记录和传输数据库的变更信息。具体到你的自定义的DebeziumDeserializationSchema,它将数据和类型组装成了row类型,并通过把流转为table的方式使用Flink CDC,这一流程并未涉及到json的使用。

    2023-10-23 16:42:44
    赞同 展开评论 打赏

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

相关产品

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

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