常规joiin,查维表(hbase),本地内存缓存,时效性不高,且容易缓存穿透,给hbase很大压力
你是不是想过是不是可以用flinkcdc或者binlog的kafka 作为维度表来join,又发现动态表不让作为维度表.
paimon来了,他是类似delta lake,hudi,iceberg的数据湖格式,但是又像整合了hbase部分能力,理所当然,他查询快,而且支持生成changelog,所以paimon得flink connector做了维表join的支持,实现方式和常规方法不一样,他是缓存在rocksdb.且支持两种模式: 全量存和部分存.
下载源码自己看下 有些错的请帮忙提示我
# 核心参数 - lookup.cache - AUTO //默认值 - Auto mode, try to use partial mode. //部分更新模式. - FULL - Use full caching mode //rocksdb存全量,可规避常规look up join的缓存穿透 # 维表join 入口分类逻辑 PrimaryKeyPartialLookupTable|PrimaryKeyLookupTable 的 open - org.apache.paimon.flink.lookup.FileStoreLookupFunction#open() - (没配置 lookup.cache ,或者配置为 'AUTO') 且 关联键就是主键: - 该表如果开了query service,则使用 query service(PrimaryKeyPartialLookupTable.createRemoteTable),否则使用 PrimaryKeyPartialLookupTable.createLocalTable. - 得到: lookupTable对象 - 会调用 PrimaryKeyPartialLookupTable.open.refre