hive产生很多.staging_hive文件

在使用spark-streaming的时候,调用了spark-sql,会执行hive语句,这个时候在hive的目录下回产生很多.staging_hive文件,而且是操作哪个表,就在哪个表中产生。hive也会产生.staging_hive,但是hive产生后会被移除,而spark-sql不会移除,所以我们需要手动处理这种情况。

  1. 在hive-site.xml中添加如下属性,所有的.staging-hive*文件都产生到/tmp/staging/目录下了。在cm的hive配置中,这一部分的配置需要加在“hive-site.xml 的 Hive 客户端高级配置代码段(安全阀)”这一项中,因为这一部分的配置是生效在hive的客户端中,加在服务器端是没用的,不生效。.hive-staging只是产生文件的前缀,不是目录。
<property>
    <name>hive.exec.stagingdir</name>
    <value>/tmp/staging/.hive-staging</value>
</property>
  1. 写shell脚本,定时去/tmp/hive/staging/.staging目录下清除文件,注意,清除文件一定要清除昨天的,今天产生的有可能正好在用,如果被移除了,则会报错,调试的时候碰到过这种情况。

参考:
hive任务中MoveTask的策略
hive insert overwrite1.2.1 无法删除旧文件的问题

转载于:https://my.oschina.net/cjun/blog/800603

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值