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