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
邮箱:loyalwilliams@163.com
微信扫一扫关注我,没事可以玩玩小游戏
我想去流浪,我想去读书,若有机会,江湖再见
扫一扫,领取红包,就当奖励你我付出的努力
还没有评论,来说两句吧...