【Flink精讲】双流Join之Regular Join(即普通Join)

Regular Join

普通Join

  • 通过条件关联两条实时数据流:动态表Join动态表
  • 支持Inner Join、Left Join、Right Join、Full Join。
    1. Inner Join(Join):只有两边数据流都关联上才输出+[L,R]
    2. Left Join(Left Outer Join):只要左流有数据即输出+[L,NULL],右流数据到达时会产生撤回流-[L,NULL],并输出+[L,R]
    3. Right Join(Right Outer Join):和Left Join逻辑相反
    4. Full Join(Full Outer Join):左流有数据输出+[L,NULL],右流有数据即输出+[NULL,R],两个数据流关联上之后产生回撤流并输出完整结果
图例
Inner Join
  • 注意:Inner Join不会产生回撤流
Left Join

回撤流:使用的是-D,而不是-U

输出流:+I(大写i)

  • 注意:Left Join会产生回撤流
Right Join
  • 注意:Right Join会产生回撤流
Full Join
  • 注意:Full Join会产生回撤流
案例实战

订单表和支付表进行关联构建宽表

  • 设置state的TTL防止内存过大
  • left join/right join/full join时要支持回撤,kafka不支持回撤流
    1. upsert-kafka的connector支持回撤流
      upsert-kafka必须指定主键字段:PRIMARY KEY(order_id) NOT ENFORCED
    2. order_id为空报错
      full join时可以case when哪张表有用哪张表的
相关推荐
热忱112811 小时前
Git 全套常用命令手册(含日常开发示例)
大数据·git·elasticsearch·搜索引擎
Gofarlic_OMS11 小时前
Fluent许可证使用合规性报告自动化生成系统
java·大数据·运维·人工智能·算法·matlab·自动化
AI营销前沿12 小时前
原圈科技AI营销内容:SaaS案例创作告别低效,效率翻倍
大数据·人工智能
币之互联万物12 小时前
消费品营销战略咨询公司怎么选?哪家靠谱?
大数据·人工智能
Hello.Reader12 小时前
Flink Hive 把 Hive 表变成“可流式消费”的数仓底座
大数据·hive·flink
2501_9481201512 小时前
大数据背景下推动XX旅游发展的分析与研究
大数据·旅游
sld16814 小时前
农资行业B2B多租户商城系统推荐,适配农业经销商层级管理
大数据·人工智能
爱敲代码的憨仔16 小时前
es 检索文档 & 轻度搜索
大数据·elasticsearch·搜索引擎
二哈喇子!21 小时前
基于SpringBoot框架的网上购书系统的设计与实现
java·大数据·spring boot
云器科技1 天前
大数据平台降本增效实践:四大典型场景的成本优化之路
大数据