Hive动态分区问题记录

最近在遇到在将一张表的数据批量导入到一个按天分区的分区表中(原始表数据包含几年的数据),在入数的过程中发现直接insert
一直卡在map端,运行很久也没有进度,此时du 看了下中间过程的临时文件大小,发下是有在写入的但是很慢,此时目录下也有很多
临时的文件每个map会输出每个分区的文件,这样在目标分区过多时就会面临map需要输出很多文件,问题确定了那怎么解决呢?
既然这里是生成的临时文件过多,那我们可以是否可以想个方式去合并这些文件呢?答案是可以的此时我们可以加个 distribute by 分区字段这样相同分区的数据就会到一个reduce 就避免了生成过多临时文件的问题(在测试过程中一开始用了distribute by rand() 发现每个reduce都会生成一个目标分区 的文件,这样实际虽然可能跑的过但是带来了了目标文件过多过小的问题)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值