MapReduce服务 MRS-Flink任务开发建议:中小规模数据量维度表可以采用内存维度表(如Hudi)

时间:2025-02-12 15:03:27

中小规模数据量维度表可以采用内存维度表(如Hudi)

  • 内存维度表:将维度数据加载到内存当中,每个TM都会加载全量的数据,在内存内实现数据点查关联。若数据量过大,需要给TM分配大的内存空间,否则容易导致作业异常。
  • 外置维度表:将维度数据存在高速的K-V数据库中,通过远程的K-V查询实现点查关联,常用的开源K-V库有HBase。
  • 状态维度表:将维度表数据当做流表,实时读入到流式作业当中,通过数据的回撤流能力实现维度更新和数据不对齐场景下的数据一致性保证。维度表保存时间比较长,当前Flink on Hudi能力可以针对Hudi作为维度表单独设置TTL时长。
表2 维度表实现方式对比

维度

内存维度表(hive/hudi表)

外置维度表(HBase)

状态维度表

性能

非常高(毫秒内)

中(毫秒级)

高(毫秒内~毫秒级)

数据量

小,建议单个TM保持1GB以内

大,TB级

中,GB级

存储资源

内存消耗大,单个TM全量存储

外置存储,无存储资源消耗

各TM分散存储,内存+磁盘存储

时效性

周期性数据加载,时效低

相对高

关联数据结果

-

support.huaweicloud.com/devg-rule-mrs/mrs_07_450167.html