扫一扫加入大数据公众号和技术交流群,了解更多大数据技术,还有免费资料等你哦
维度join运用场景简介
维度或者是维表是来自数据仓库维度建模中的概念,区别于事实表业务真实发生的数据,通常用来表示业务属性,比喻订单业务中,商品属性、商家属性都可以称之为维度表。在flink 流处理实时分析中或者实时数仓中,同样需要使用维表来完成一些数据过滤或者字段补齐操作,但是我们所需要的维度数据通常存储在Mysql/Redis/Hbase/Es这样的外部数据库中,并且可能是会随时变动的,根据业务要求数据的时效性,需要不同程度的感知维表数据的变化,在实际使用中常常会有以下几种方案可供选择:
- 全量加载到内存:在维度数据量比较小并且业务要求的时效性不高,可以定时全量加载维度数据到内存中,直接从内存中查
本文介绍了在Flink中处理维度表Join的常见方案,包括全量加载到内存、热数据缓存(如使用LinkedHashMap和Guava Cache)、实时查询以及广播维度数据。详细探讨了每种方法的适用场景、实现细节及注意事项,如内存一致性、LRU策略和异步加载。此外,文章还提供了Flink中广播状态的使用示例,适用于需要实时更新规则数据的情况。

订阅专栏 解锁全文
9164

被折叠的 条评论
为什么被折叠?



