JOIN的类型

两大类:维表、双流。维表单流驱动。

维表JOIN

查询外存维表

广播维表

Temporal Table Function Join

  1. LATERAL TABLE(TemporalTableFunction)

Temporal Table是保存了历史所有改动的表

其他

预加载:open()函数全加载到内存。或者env.registerCachedFile,open()RuntimeContext获取cache文件。

双流JOIN

Regular Join

Interval Join(Time Window Join)

Window Join(只有DataStream API)

Lateral Join

循环左表,拿到其中一行,去右表查询。拿到查询结果可以附加处理逻辑,再进行JOIN。
用途

  • Join UDTF
  • Join Temporal Table

数组展开

  1. SELECT users, tag
  2. FROM Orders CROSS JOIN UNNEST(tags) AS t (tag)

https://blog.csdn.net/wangpei1949/article/details/103554868