开发者社区 > 云原生 > 正文

请问一下,flink-cdc先要join维表,look-up join 还是 广播;还有其他方式嘛?

请问一下,flink-cdc先要join维表,大家一般是怎么做的呀,look-up join 还是 广播;还有其他方式嘛?

展开
收起
哒哒哒哒哒~ 2023-03-07 10:54:14 183 0
1 条回答
写回答
取消 提交回答
  • 随心分享,欢迎友善交流讨论:)

    Flink CDC是用来捕获数据库中数据变化并实时同步到流处理引擎中的工具。在实时流处理中,经常需要将事件流与外部数据源进行关联,这通常涉及到将事件流中的每条记录与一个或多个外部数据源进行Join操作。这个过程我一般使用Flink的Lookup Join和Broadcast Join来实现。

    1、Lookup Join:使用 Lookup Join,将维表数据读取到Flink中,然后将事件流中的每个记录与维表进行Join,通常在小型维表上执行此操作,因为每个记录都需要查询维表,因此会对维表产生较大的压力。此外,如果维表较大,那么每次Join时需要从外部存储系统中读取维表数据,可能会对性能产生影响。

    2、Broadcast Join:使用 Broadcast Join,将维表广播到所有执行器节点上,然后将事件流中的每个记录与维表进行Join,因此,在使用Broadcast Join时,维表应该是相对较小的,以便在内存中广播。Broadcast Join可以有效地减少数据传输的成本,因为维表只需要广播一次,并且不需要每次Join时重新加载。

    除了Lookup Join和Broadcast Join之外,还有一些其他的Join方法可以使用。例如,Sort Merge Join和Hash Join,这些方法适用于不同类型的数据,具体取决于应用程序的需求和性能要求。在选择Join方法时,应该考虑数据大小,Join频率,资源需求,延迟和数据一致性等方面。

    2023-03-07 11:19:19
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

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