小文件合并以及automerge出现问题怎么解决
2022-10-27 19:39:47
148次阅读
0个评论
现有功能
- 改进的automerge 功能:https://community.transwarp.cn/thread?topicId=251
- 插入时候的全表/分区小文件合并功能:https://community.transwarp.cn/thread?topicId=252
现有功能可能出现的问题:
- 改进的automerge 功能:
分桶表依然会合并,而且在torc的情况下,会把远超阈值大小的文件进行合并。
TDT表插入任务会并很大的文件,系TDT表的split 提供的getLength()方法,返回了错误的大小,其实返回的是行数,导致我们计算automerge阈值时候认为需要合并。
不支持rcfile
- 插入时候的全表/分区小文件合并功能:
功能已经失效
分区表不支持
rcfile不支持
如何改进
- 分桶表跳过automerge;tdt表跳过automerge;支持rcfile automerge
- 重新enable 功能;支持单值分区表的指定分区插入;支持rcfile
- automerge 功能新加入了两个新参数:
ngmr.automerge.ignore.bucket – 控制在automerge的时候,是否对分桶表做automerge。默认值false,也就是bucket表默认是automerge的。
ngmr.automerge.ignore.tdt – 控制在automerge的时候,是否对TDT表做automerge,判断标准是inputformat 带tdt.JDBCDBInputFormat 的。默认值是false,也就是TDT表默认是做automerge的。
这两个参数对automerge新旧两个参数(ngmr.partition.automerge,inceptor.automerge.maptask)都生效,上述问题需要把这两个ignore 参数设置成true;
注:新automerge参数,inceptor.automerge.maptask 可以默认打开:
0
0