spark-sql执行hivesql

spark提交命令有spark-shell、spark-submit、spark-sql,spark-sql的提交命令很少见吧,不过已经被我发掘出来了。
我们执行hive命令一般都是

hive -e 'select * from xx'
或者 
hive -f /home/hadoop/xx.hql -d dt=2018-01-01

但是hive底层使用mr执行速度实在不忍直视,安装hive on spark又太麻烦了,怎么办呢?其实,spark也有基于hive执行sql脚本的提交任务方式,就是spark-sql

spark-sql --master yarn-client -e 'select * from xx'
spark-sql --master yarn-client  dt=2018-01-01 -f '/home/hadoop/xx.hql'

不过spark对机器内存性能要求很高,容易执行失败,如果spark-sql执行失败,出现内存溢出的情况,还是使用hive比较稳定。
这里spark-sql能查询到hive表是怎么配置的呢?只需要把hive-sit.xml复制到spark安装目录的conf目录下即可。
spark-sql缺点:执行语句insert overwrite table xx…在结果目录会有大量小文件,容易内存溢出执行失败

我的GitHub
QQ:2541692705
邮箱:[email protected]
微信扫一扫关注我,没事可以玩玩小游戏
spark-sql执行hivesql_第1张图片


我想去流浪,我想去读书,若有机会,江湖再见
扫一扫,领取红包,就当奖励你我付出的努力
spark-sql执行hivesql_第2张图片

你可能感兴趣的:(大数据)