hive insert数据后,HDFS目录增加-ext-10000目录处理

在升级到Hive 1.2版本后,遇到插入数据后hdfs目录下出现-ext-10000子目录的问题。问题源于执行用户的权限,非集群管理用户会导致此现象。通过检查权限并启用Ranger权限管控解决,同时调整hive.exec.stagingdir参数以避免性能影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hive更换1.2版本后,insert数据后,hdfs目录增加了-ext-10000目录
在这里插入图片描述
经排查发现执行用户非集群管理用户,使用集群管理用户可以正常。
hdfs 查看目录权限为集群管理用户。怀疑权限问题,不想手动修改hdfs权限,开启ranger 权限管控hive,赋权后正常使用。
分析代码:
1.原文件是非hdfs文件,copyFromLocal
2.原文件是hdfs文件
2.1 Encrypted模式 copy操作,如果文件大于默认值(32MB),则会进行distcp操作。
2.2 非Encrypted模式
(1)原目录是目标目录的子目录,原目录下的每个文件进行copy操作,如果文件大于默认值(32MB),则会进行distcp操作。
(2)其他情况,进行mv操作
因此,在hive1.2版本中,当原目录是目标目录的子目录时,会对所有文件循环进行copy或者distcp操作。这会导致磁盘io以及网络流量,浪费大量的时间,导致任务变的缓满。
临时解决办法: 将 hive1.2.1默认的参数:

hive.exec.stagingdir
.hive-staging

修改为
hive.exec.stagingdir
/tmp/hive/.hive-staging

可以规避问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值