在将NodeManager的总内存平均分配给每个Executor,最后再将单个Executor的内存按照大约10:1的比例分配到spark.executor.memory和spark.executor.memoryOverhead。 根据上述思路,可得到如下关系: (spark.executor.memory+spark.executor.memoryOverhead)= yarn.nodemanager.resource.memory-mb * (spark.executor.cores/yarn.node...
若我们一共有10台32C/128G的节点,并按照上述配置(即每个节点承载7个Executor),那么理论上讲我们可以将spark.executor.instances设为70,以使集群资源最大化利用。但是实际上一般都会适当设小一些(推荐是理论值的一半左右),因为Driver也要占用资源,并且一个YARN集群往往还要承载除了Hive on Spark之外的其他业务。 spark....
SEThive.execution.engine=spark;-- 修改spark on yarn的资源队列SETspark.yarn.queue=root.dw_offline_day;-- 设置Driver内存SETspark.driver.memory=1G;-- 设置Executor核数SETspark.executor.cores=4;-- 设置Executor内存SETspark.executor.memory=11G;-- 设置Executor个数SETspark.executor.instances=10;-- 设置...
Driver主要配置内存即可,相关的参数有spark.driver.memory和spark.driver.memoryOverhead。 spark.driver.memory用于指定Driver进程的堆内存大小,spark.driver.memoryOverhead用于指定Driver进程的堆外内存大小。默认情况下,两者的关系如下:spark.driver.memoryOverhead=spark.driver.memory*0.1。两者的和才算一个Driver进程所...
1.1 Hive on spark 动机 1.2 设计原则 1.3 与Shark和Spark SQL的比较 1.4 其它考虑 二.Hive on Spark 性能测试 参考 备注: Hive 版本 2.1.1 一.Hive on Spark介绍 Hive是基于Hadoop平台的数据仓库,最初由Facebook开发,在经过多年发展之后,已经成为Hadoop事实上的SQL引擎标准。相较于其他诸如Impala、Shark(...
spark.driver.memory 当运行hive on spark的时候,每个spark driver能申请的最大jvm 堆内存。该参数结合 spark.driver.memoryOverhead共同决定着driver的内存大小。 driver的内存大小并不直接影响性能,但是也不要job的运行受限于driver的内存. 这里给出spark driver内存申请的方案,假设yarn.nodemanager.resource.memory-mb...
Hive on Spark对于Map Join的实现与MapReduce不同。最初考虑使用Spark提供的广播功能来把小表的Hash Table分发到各个计算节点上。使用广播的优点是Spark采用了高效的广播算法,其性能应该优于使用Distributed Cache。而使用广播的缺点是会为Driver和计算节点带来很大的内存开销。为了使用广播,Hash Table的数据需要先被传送...
Hive on Spark是指使用Spark替代传统MapReduce作为Hive的执行引擎,在HIVE-7292提出。Hive on Spark的效率比on MR要高不少,但是也需要合理调整参数才能最大化性能,本文简单列举一些调优项。为了符合实际情况,Spark也采用on YARN部署方式来说明。 Executor参数 ...
Hive on Spark是指使用Spark替代传统MapReduce作为Hive的执行引擎,在HIVE-7292提出。Hive on Spark的效率比on MR要高不少,但是也需要合理调整参数才能最大化性能,本文简单列举一些调优项。为了符合实际情况,Spark也采用on YARN部署方式来说明。
之前在Hive on Spark跑TPCx-BB测试时,100g的数据量要跑十几个小时,一看CPU和内存的监控,发现POWER_TEST阶段(依次执行30个查询)CPU只用了百分之十几,也就是没有把整个集群的性能利用起来,导致跑得很慢。因此,如何调整参数,使整个集群发挥最大性能显得尤为重要。