分享

SparkSql交互性查询的耗时问题。

在安装了Spark集群后,测试单个大小为1G多的csv文件。
我先将该问题导入hive测试了下,hive的排序时间,和查询时间
然后用spark测试排序时间和查询时间
表名:kt_bigdata(行数3749176)
HIVE和spark测试时间如下:想请问下为什么spark的耗时并没有显著提升。

spark1

spark1


spark2

spark2


HIVE1

HIVE1

HIVE2

HIVE2



已有(9)人评论

跳转到指定楼层
youngwenhao 发表于 2017-5-22 16:11:39
请问是不是数据量还不够大,是不是我多个类似的表格联合查询速度就会提升?
烦请指导下。
回复

使用道具 举报

desehawk 发表于 2017-5-22 17:14:58
youngwenhao 发表于 2017-5-22 16:11
请问是不是数据量还不够大,是不是我多个类似的表格联合查询速度就会提升?
烦请指导下。

首先二者使用的背景有所不同的。
hive是sql on hdfs,目的为了hadoop的数据更好的查询。
spark sql是因为mr慢,所以使用了spark sql。
可以优化下spark,比如下面
设置并行度
spark.sql.shuffle.partitions=200
spark.sql.codegen设置为Ture;

回复

使用道具 举报

youngwenhao 发表于 2017-5-23 09:47:03
desehawk 发表于 2017-5-22 17:14
首先二者使用的背景有所不同的。
hive是sql on hdfs,目的为了hadoop的数据更好的查询。
spark sql是因 ...

你好,谢谢你的回复,我用CDH安装的spark但是在spark的configuration中为什么找不到这两项配置,
我是否得手动去修改/ect/spark/conf/spark-default.conf文件,如图2
t find config1.png
spark_default_config.png
回复

使用道具 举报

fly2015 发表于 2017-5-23 11:35:14
spark对内存要求较高,是不是spark资源不够或者配置不够优化
回复

使用道具 举报

qcbb001 发表于 2017-5-23 11:47:15
youngwenhao 发表于 2017-5-23 09:47
你好,谢谢你的回复,我用CDH安装的spark但是在spark的configuration中为什么找不到这两项配置,
我是否 ...

运行前直接设置下即可
set spark.sql.codegen=true;
conf/spark-default.conf
可以配置
spark.sql.shuffle.partitions=200

回复

使用道具 举报

youngwenhao 发表于 2017-5-23 14:51:48
fly2015 发表于 2017-5-23 11:35
spark对内存要求较高,是不是spark资源不够或者配置不够优化

麻烦review下我的配置,我master的role比较多,还请帮忙提下建议,我用的4台pc机,一般spark集群需要多大内存,如何分配资源比较合理。谢谢!



集群内存信息.png
回复

使用道具 举报

starrycheng 发表于 2017-5-23 20:06:52
youngwenhao 发表于 2017-5-23 14:51
麻烦review下我的配置,我master的role比较多,还请帮忙提下建议,我用的4台pc机,一般spark集群需要多大 ...

这个还算可以。
如果还想增大的话,master可以增大到10G。另外内存跟运行没有直接关系。跟jvm的配置等关系比较大。
回复

使用道具 举报

youngwenhao 发表于 2017-5-24 11:52:38
starrycheng 发表于 2017-5-23 20:06
这个还算可以。
如果还想增大的话,master可以增大到10G。另外内存跟运行没有直接关系。跟jvm的配置等关 ...

你好,请问这个370w行的数据表,我mysql中的测试排序和查询速度竟然都比较hive和sparksql快,是由于数据比较小,体现不出集群的优势么?
我的mysql本机配置:8G内存。
mysql_bigdata_order by median.png
mysql_bigdata_where median bigthan0.png
回复

使用道具 举报

einhep 发表于 2017-5-24 18:44:58
youngwenhao 发表于 2017-5-24 11:52
你好,请问这个370w行的数据表,我mysql中的测试排序和查询速度竟然都比较hive和sparksql快,是由于数据 ...

很多都是需要大数据才能体现出来。
比如mapreduce的wordcount,一个很小的文件,传统程序肯定比mapreduce快。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条