优势

常规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
本站无任何商业行为
个人在线分享 » apache paimon在flink中做维表join的优势
E-->