Spark的这些事<四>——SparkSQL功能测试结果

一、Spark与Hive的差异

(1)、in 不支持子查询(2.0支持https://issues.apache.org/jira/browse/SPARK-4226
eg: select * from tb_test1 where serv_number in (select serv_number from tb_test1 where serv_number=138);

(2)、minus 不支持

(3)、intersect 不支持

二、 性能效率
注:
spark执行时均采用单核、1G内存执行脚本(如提高执行内存 执行效率会更快)
本次测试的事实表数据量为千万级别

这里写图片描述

综上,直接count(*)时,sparksql执行速度比hive高5倍,如果对执行内存扩大,对spark相关参数调优,则会更快。由于spark把计算放到内存中,所以会比MR更快,当然当数据量大于执行节点内存时,spark也会在在HDFS上直接计算,这是速度会有所下降,保证节点数以及各节点内存,才能更好的发挥spark的计算优势。

三、 结果比对
根据上面我们实践的整合Spark VS Hive,sparksql执行速度比hive高5倍之多,如果对执行内存扩大,对spark相关参数调优,则会更快。由于spark把计算放到内存中,所以会比MR更快,当然当数据量大于执行节点内存时,spark也会在在HDFS上直接计算,这是速度会有所下降,保证节点数以及各节点内存充足,才能更好的发挥spark的计算优势。
在执行复杂统计分析时,完全可以使用Spark SQL来替代Hive,至少会提高几倍的速度,对于一些基于Hive统计应用,随着应用的增多,可能每天需要更多的离线运算,有些报表对于与执行效率也需要提高。除了对Hive查询语句进行优化之外,应该说优化空间不大,所以这个时候可以考虑使用Spark平台来实现统计分析,而且,Spark集群可以线性扩展,对于一些调优也更容易一些。另外,Spark的发展超级迅猛,新版本频繁发布,而且在后期的版本中还会在性能方面进行大幅改进。

Spark的这些事系列文章:
Spark的这些事<一>——Windows下spark开发环境搭建
Spark的这些事<二>——几个概念
Spark的这些事<三>——spark常用的Transformations 和Actions
Spark的这些事<四>——SparkSQL功能测试结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据社

码字不易,谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值