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

大佬,Flink CDC 中你下游怎么解决的呢。可以指教一下不,往kafka发?kafka来回拨位点

大佬,Flink CDC 中你下游怎么解决的呢。可以指教一下不,往kafka发?kafka来回拨位点?

展开
收起
cuicuicuic 2023-07-02 17:19:38 44 0
3 条回答
写回答
取消 提交回答
  • 在 Flink CDC 中使用 Kafka 作为下游时,可以考虑以下两种解决方案:

    1. 使用自定义反序列化器:您可以在 Flink CDC 中使用自定义的反序列化器,将数据从 CDC 格式转换成正确的格式,然后将转换后的数据写入 Kafka。在 Kafka 中,您可以使用 Kafka Connect 的 Avro Converter 或者 JSON Converter 来对数据进行反序列化,以保证数据的正确性。

    2. 使用 Kafka 的位点:在 Flink CDC 中,您可以使用 Flink Kafka Consumer 将 CDC 数据流直接写入 Kafka。在写入 Kafka 时,可以记录 Kafka Consumer 的位点(offset),即当前消费到的位置。下次启动 Flink CDC 时,可以设置 Kafka Consumer 的起始位点为上次记录的位点,以确保不会重复消费已经处理过的数据。

    需要注意的是,如果选择使用 Kafka Consumer 的位点来进行数据消费和回放,确保 Kafka 中的数据能够长期保存,以便 Flink CDC 可以从指定位点开始重新消费数据。如果 Kafka 中的数据已被删除,将无法使用该方式进行回放。

    2023-07-30 11:02:28
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    针对您提到的 Oracle CDC Connector 将 Number 类型的 0 值转换成科学计数法表示,并使用 String 类型进行存储所导致的问题,如果您使用 Kafka 作为 Flink CDC 的下游,可以考虑以下两种解决方案:
    使用自定义反序列化器
    在 Flink CDC 中,可以使用自定义反序列化器,将科学计数法表示的数值转换成正确的 Number 类型,并将 JSON 转换成 Flink 的 Row 类型,然后将 Row 类型的数据写入 Kafka。在 Kafka 中,您可以使用 Kafka Connect 的 Avro Converter 或者 JSON Converter 来对数据进行反序列化,以保证数据的正确性。
    使用 Kafka 的位点
    在 Flink CDC 中,可以使用 Flink Kafka Consumer,将 CDC 数据流直接写入 Kafka。在写入 Kafka 时,可以使用 Kafka Consumer 的位点,在数据写入 Kafka 后将位点记录下来。在下次启动 Flink CDC 时,可以设置 Kafka Consumer 的起始位点为上次写入的位点,以确保不会重复消费数据。
    需要注意的是,使用 Kafka Consumer 的位点需要确保 Kafka 中的数据能够长期存储。如果 Kafka 中的数据已经被删除,将无法使用

    2023-07-30 10:11:17
    赞同 展开评论 打赏
  • datastream 里面有个时间 在kafka消费的时候进行比对,此回答整理自钉群“Flink CDC 社区”

    2023-07-02 17:31:07
    赞同 展开评论 打赏

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

相关产品

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

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