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

Flink CDC我看这里分片从0开始,是怎么在不同的slot里面显示出不同区间的count值?

Flink CDC我看这里分片从0开始,然后一直++,并行度是怎么实现的,是怎么在不同的slot里面显示出不同区间的count值?image.png
看日志里面有两个slot在并行进行分片,一个从0开始,一个从4000开始,有什么东西在改变了这个count的值?

展开
收起
cuicuicuic 2023-11-01 14:59:09 33 0
2 条回答
写回答
取消 提交回答
  • Flink CDC的分片从0开始,并行度是通过将数据流划分为多个分片来实现的。每个分片处理一个特定的区间数据,并且每个分片都有一个唯一的标识符(即slot index)。在Flink CDC中,不同的slot会在不同的线程中运行,每个线程负责处理一个或多个分片的数据。

    在日志中看到两个slot并行进行分片,一个从0开始,一个从4000开始,这是因为这两个slot分别处理不同的数据区间。当数据源产生新数据时,Flink CDC会根据数据的时间和位置信息将其分配到相应的分片中。因此,当有新的数据被添加到数据源中时,count值也会相应地增加。

    具体来说,当一个新的事件被添加到数据源中时,Flink CDC会首先确定该事件所属的分片,然后将该事件发送到对应的slot进行处理。如果该slot还没有处理过这个分片的数据,那么它的count值就会加1。如果该slot已经处理过这个分片的数据,那么它的count值就不会改变。

    总之,Flink CDC通过将数据流划分为多个分片并使用不同的slot来并行处理这些分片的数据,从而实现了高效的数据处理和并行度。

    2023-11-02 14:33:00
    赞同 1 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC中的并行度是通过对任务拆分成多个片段的方式来实现的。每一片段都可以有自己的计算资源和数据处理能力。
    当某个片段的任务完成后,会对整体结果进行汇总,最终输出结果。并行度可以实现相同任务的不同部分可以在不同的片段内执行,从而加快处理速度。
    至于如何显示不同区间的count值,可以采用分桶的方式来进行分区分治,每个分桶在各自独立的slot内完成计算,然后再合并成一个整体的结果。

    2023-11-02 14:27:21
    赞同 展开评论 打赏

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

相关产品

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

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