【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哪张表有用哪张表的
相关推荐
Hello.Reader2 小时前
TopK算法在大数据重复数据分析中的应用与挑战
大数据·算法·数据分析
数据龙傲天2 小时前
1688商品API接口:电商数据自动化的新引擎
java·大数据·sql·mysql
Elastic 中国社区官方博客2 小时前
Elasticsearch:使用 LLM 实现传统搜索自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
Jason不在家4 小时前
Flink 本地 idea 调试开启 WebUI
大数据·flink·intellij-idea
Elastic 中国社区官方博客5 小时前
使用 Vertex AI Gemini 模型和 Elasticsearch Playground 快速创建 RAG 应用程序
大数据·人工智能·elasticsearch·搜索引擎·全文检索
CHICX12296 小时前
【Hadoop】改一下core-site.xml和hdfs-site.xml配置就可以访问Web UI
xml·大数据·hadoop
权^7 小时前
MySQL--聚合查询、联合查询、子查询、合并查询(上万字超详解!!!)
大数据·数据库·学习·mysql
bin915311 小时前
【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
大数据·数据库·信息可视化·数据挖掘·数据分析·excel·数据可视化
极客先躯14 小时前
Hadoop krb5.conf 配置详解
大数据·hadoop·分布式·kerberos·krb5.conf·认证系统
2301_7869643616 小时前
3、练习常用的HBase Shell命令+HBase 常用的Java API 及应用实例
java·大数据·数据库·分布式·hbase