spark-sql做ETL时遇到的两个问题

项目中使用spark-sql来作ETL,遇到两个问题,记录一下。

问题1:

spark-sql –master yarn –hiveconf load_date=`date –d ..`  -e ‘insert overwrite table tbl(.) select distinct * from tbl”

在hdfs上这个表所在的目录下面会产生很多的类似.hive-staging-yyyy-MM-dd…的文件

问题2:

spark-sql生成的目录特别多,尤其是我使用spark-streaming结合spark-sql来做实时数据收集与合并的时候

         解决方法:

1。参考网络。配置hive.exec.stagingdir到一个特定目录,然后定时作业进行清除,请清除昨天的数据,今天的数据可能正在使用。

2。配置hive的作业项,然后使用hive进行合并小文件

set hive.merge.mapredfiles=true;

set hive.merge.size.pertask=128000000;

set hive.merge.smallfiels.avgsize=16000000;

转载于:https://www.cnblogs.com/huaxiaoyao/p/7338830.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值