欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

Flink SQL的N way join

发布时间:2023/12/31 数据库 24 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Flink SQL的N way join 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

概述

本文用来详解[1]

 

SQL结构

[1]中的整个md文件中的sql其实是想表达上图的这个逻辑

这里的SQL写的时候需要注意一个细节:

 connector设置
维度表'connector' = 'upsert-kafka'
事实表'connector' = 'kafka'   

所谓的N way Join就是在SQL里面一个fact table和多个维度表进行join,如下:

SELECT t.actual_departure_date, p.first_name,p.last_name,b.channel, os.city AS origin_station,ds.city AS destination_station FROM train_activities t LEFT JOIN booking_channels FOR SYSTEM_TIME AS OF t.actual_departure_date AS b ON t.booking_channel_key = b.booking_channel_key LEFT JOIN passengers FOR SYSTEM_TIME AS OF t.actual_departure_date AS p ON t.passenger_key = p.passenger_key LEFT JOIN stations FOR SYSTEM_TIME AS OF t.actual_departure_date AS os ON t.origin_station_key = os.station_key LEFT JOIN stations FOR SYSTEM_TIME AS OF t.actual_departure_date AS ds ON t.destination_station_key = ds.station_key;

 

这个实验对硬件资源有些要求,

如果资源不够的话,提交一段时间后,web UI会显示任务会超时

 

Reference:

[1]https://github.com/ververica/flink-sql-cookbook/blob/master/joins/05/05_star_schema.md

总结

以上是生活随笔为你收集整理的Flink SQL的N way join的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。