lookup join可以关联多张维表,但是维表的更新不会触发历史数据刷新。
多维表关联的时候,需要考虑多次关联导致的延迟,以及查询tps对维表数据库的压力。

斗鱼 <1227581...@qq.com.invalid> 于2024年6月19日周三 23:12写道:

> 好的,感谢大佬的回复,之前有了解到Flink的Lookup join好像可以实现类似逻辑,只是不知道Lookup join会不会支持多张动态维度表呢?
>
>
> 斗鱼
> 1227581...@qq.com
>
>
>
> &nbsp;
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:
>                                                   "user-zh"
>                                                                     <
> xhzhang...@gmail.com&gt;;
> 发送时间:&nbsp;2024年6月19日(星期三) 下午5:55
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;Re: Flink如何做到动态关联join多张维度表中的n张表?
>
>
>
>
> 维表更新后要刷新历史的事实表吗?这个用flink来做的话,几乎不太可能实现,尤其是涉及到多个维表,相当于每次维表又更新了,就要从整个历史数据里面找到关联的数据,重新写入。不管是状态存储,还是更新数据量,需要的资源都太高,无法处理。
> 在我们目前的实时宽表应用里面,实时表部分一般都是流水类的,取到的维表信息,就应该是业务事实发生时的数据。
> 维表更新后刷新事实的,一般都是夜间批量再更新。如果有强实时更新需求的,只能在查询时再关联维表取最新值
>
> 王旭 <xwwan...@163.com&gt; 于2024年6月16日周日 21:20写道:
>
> &gt; 互相交流哈,我们也在做类似的改造
> &gt; 1.不确定需要关联几张维表的话,是否可以直接都关联了,然后再根据驱动数据中的字段判断要取哪几张维度表的数据,类似left join
> &gt;
> &gt;
> 2.维表变化后对应的结果表也要刷新这个场景,你有提到维表数据是亿级别,可想而知事实表数据更大,如果要反向关联全量事实表的数据,感觉不太适合用流处理;如果只是刷新部分的话,倒是可以将n天内的数据暂存至外部存储介质中
> &gt;
> &gt;
> &gt;
> &gt; ---- 回复的原邮件 ----
> &gt; | 发件人 | 斗鱼<1227581...@qq.com.INVALID&gt; |
> &gt; | 日期 | 2024年06月16日 21:08 |
> &gt; | 收件人 | user-zh<user-zh@flink.apache.org&gt; |
> &gt; | 抄送至 | |
> &gt; | 主题 | 回复:Flink如何做到动态关联join多张维度表中的n张表? |
> &gt;
> &gt;
> 大佬,目前我们还处在调研阶段,SQL或datastream都可以,目前我们DWD或维度表设计是存在ClickHouse/Doris,目前在设计未来的架构,还没实现,只是想向各位大佬取经,麻烦大佬帮忙指教下
> &gt;
> &gt;
> &gt; 斗鱼
> &gt; 1227581...@qq.com
> &gt;
> &gt;
> &gt;
> &gt; &amp;nbsp;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
> &gt; 发件人:
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> "user-zh"
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> <
> &gt; xwwan...@163.com&amp;gt;;
> &gt; 发送时间:&amp;nbsp;2024年6月16日(星期天) 晚上9:03
> &gt; 收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
> &gt;
> &gt; 主题:&amp;nbsp;回复:Flink如何做到动态关联join多张维度表中的n张表?
> &gt;
> &gt;
> &gt;
> &gt; 你好,请问你们是用flink sql api还是datastream api实现这个场景的
> &gt;
> &gt;
> &gt;
> &gt; ---- 回复的原邮件 ----
> &gt; | 发件人 | 斗鱼<1227581...@qq.com.INVALID&amp;gt; |
> &gt; | 日期 | 2024年06月16日 20:35 |
> &gt; | 收件人 | user-zh<user-zh@flink.apache.org&amp;gt; |
> &gt; | 抄送至 | |
> &gt; | 主题 | Flink如何做到动态关联join多张维度表中的n张表? |
> &gt; 请教下各位大佬,目前我们遇到一个场景:
> &gt; 1、需要往DWD事实表里写入数据的同时,往Kafka里面写该DWD表的记录信息,该信息
> &gt; 2、该Kafka信息会包含一个维度表数据类型的字符串数组
> &gt;
> &gt;
> 3、Flink在做实时消费Kafka中数据,根据类型数组,关联不同的维度表,如数组包含【1,2】,则Flink读取Kafka消息后,将DWD的数据关联维度表1和维度表2后,写入DWS表
> &gt;
> &gt;
> &gt;
> &gt;
> 想请问大佬如何实现根据该数组信息动态关联维度表,这些维度表数据量都挺大的,亿级别的数据,需要能满足维度表变化后,关联后的DWS数据也能变化,不知道是否有什么技术方案能实现,有的话麻烦大佬帮忙给个简单示例或者参考链接,感谢!
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; |
> &gt; |
> &gt; 斗鱼
> &gt; 1227581...@qq.com
> &gt; |
> &gt; &amp;nbsp;

回复