开发者社区> 问答> 正文

Flink维表缓存支持哪些策略

已解决

Flink维表缓存支持哪些策略

展开
收起
提个问题 2024-06-08 18:10:17 58 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    Flink维表关联支持以下三种缓存策略:
    • None(默认值):无缓存。
    • LRU:缓存维表里的部分数据。源表的每条数据都会触发系统先在Cache中查找数据,如果没有找到,则去物理维表中查找。
    • ALL:缓存维表里的所有数据。在Job运行前,系统会将维表中所有数据加载到Cache中,之后所有的维表查找数据都会通过Cache进行。如果在Cache中无法找到数据,则KEY不存在,并在Cache过期后重新加载一遍全量Cache。
      适用于远程表数据量小且MISS KEY(源表数据和维表JOIN时,ON条件无法关联)特别多的场景。
    • 使用ALL或LRU缓存策略时,必须配置cacheSize参数。如果使用CACHE ALL时,请注意节点内存大小,防止出现OOM。因为系统会异步加载维表数据,所以在使用CACHE ALL时,需要增加维表JOIN节点的内存,增加的内存大小为远程表数据量的两倍。
    各存储具体支持哪几种策略以对应存储文档为主,例:MaxCompute维表仅支持ALL策略。
    2024-06-08 18:10:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载