FAQ-发布中心发布iceberg表路径映射失效

问题描述/异常栈
iceberg实际是hive的外部表,使用发布中心发布iceberg表时需要配置路径映射,否则发布到另一项目下的表location会异常,但当iceberg表路径映射多条长度相同时会出现不生效的情况。例如从support项目发布表到mammut_qa项目下,实际的存储路径还是support,并没有替换为mammut_qa.
FAQ-发布中心发布iceberg表路径映射异常 - 图1
FAQ-发布中心发布iceberg表路径映射异常 - 图2
发现版本
EasyData 9 update10
解决方案
临时方案:在发布iceberg表时,删除多余的路径映射只保留需要的。
解决方案:EasyData 9 update14 修复
问题原因
发布中心处理hive外表路径映射,按照路径长度排序。如果有路径的长度相同,TreeMap 认为这两个 key 是相同的,导致key不变,value被覆盖。

作者:楚展航