Spark读Hive表慢?
Hi,路过的大神我用Spark 1.6 去读一个Hive表,一天的数据:1.1T左右。
scala代码如下:
val sql = "cache table tmp_tab as select * from db_name.tab_name where prt_dt='yyyy-MM-dd'"
sqlContext.sql(sql)
spark 参数如下:
spark-shell --master yarn-master --driver-memory 4g \
--executor-memory 6g
--num-executors 300 \
--conf spark.default.parallelism=600 \
--conf spark.sql.shuffle.partitions=600
初始化的tasks是这样的:(0 + 0) / 7787
花了30分钟左右,请问如何优化呢?
本帖最后由 bioger_hit 于 2019-6-3 20:36 编辑
并行并不是越多越好,合理分配。
excutor memory和core的个数需要根据集群的来调整,确保集群硬件资源不要有空闲。
bioger_hit 发表于 2019-6-3 20:35
并行并不是越多越好,合理分配。
excutor memory和core的个数需要根据集群的来调整,确保集群硬件资源不要 ...
大部分都是MR job,内存来讲是够用的。目前的情况是在资源相对充足的情况下,读表很慢。
Danny_nd4du 发表于 2019-6-3 20:57
大部分都是MR job,内存来讲是够用的。目前的情况是在资源相对充足的情况下,读表很慢。
1.看看是否数据倾斜
2.内存充足,这个其实说明另外一个问题。内存没有使用充分使用,空闲很多。所以需要充分利用利用起来。可以提供下配置文件,提交job所使用的信息,集群内存,core等信息。这样才能调优。
页:
[1]