spark-sql执行hivesql

朴灿烈づ我的快乐病毒、 2022-05-15 03:23 416阅读 0赞

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

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

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

  1. spark-sql --master yarn-client -e 'select * from xx'
  2. 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
微信扫一扫关注我,没事可以玩玩小游戏
20190521165139570.png

我想去流浪,我想去读书,若有机会,江湖再见
扫一扫,领取红包,就当奖励你我付出的努力
20181213140254471.png

发表评论

表情:
评论列表 (有 0 条评论,416人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SparkSQL

    SparkSQL的前身是Shark,它抛弃原有Shark的代码,汲取了Shark的一些优点,如内存列存储(In-Memory Columnar Storage)、Hive兼容性

    相关 hivesql优化

    1. 业务处理优化原则 Hive对复杂SQL没有关系形数据库表现好,业务过程可使用临时表使用过程更清晰简单; 关联条件尽可能避免使用函数、正则表达式。