Spark参数配置说明

简介: 1  修改$SPARK_HOME/conf目录下的spark-defaults.conf文件 添加以下配置项 spark.sql.hive.convertMetastoreParquet       false hive.exec.compress.output     false 如果spark.sql.hive.convertMetastoreParquet不设置为false,前台清单预览看到的内容为乱码。

1  修改$SPARK_HOME/conf目录下的spark-defaults.conf文件

添加以下配置项

spark.sql.hive.convertMetastoreParquet       false

hive.exec.compress.output     false

如果spark.sql.hive.convertMetastoreParquet不设置为false,前台清单预览看到的内容为乱码。

由于parquet格式的文件内置了压缩,故输出结果不需要进行压缩,如果设置为压缩,清单下载功能异常。

2 修改$SPARK_HOME/conf目录下spark-env.sh文件,设置以下参数:

SPARK_EXECUTOR_INSTANCES=11

SPARK_EXECUTOR_CORES=2

SPARK_EXECUTOR_MEMORY=1G

SPARK_DRIVER_MEMORY=3G

根据需要配置,如果设置刚好满足所有内存,则没有多余的内存供其他task任务的执行

2.1 参数SPARK_EXECUTOR_INSTANCES

该参数决定了yarn集群中,最多能够同时启动的EXECUTOR的实例个数。Yarn中实际能够启动的最大Executors的数量会小于等于该值。如果不能确定最大能够启动的Executors数量,建议将该值先设置的足够大。(就是设置尽量大)

2.2 SPARK_EXECUTOR_CORES  该参数为设置每个EXECUTOR能够使用的CPU core的数量。

Yarn集群能够最多并行的Task数据为SPARK_EXECUTOR_INSTANCES乘        以SPARK_EXECUTOR_CORES一般设置为2

 也就是说如果spark_executor_instances=11 则最多并行的Task数为22

2.3 SPARK_EXECUTOR_MEMORY

该参数设置的是每个EXECUTOR分配的内存的数量。需要注意的是,该内存数量是SPARK_EXECUTOR_CORES中设置的内核数共用的内存数量。

例如上面示例中,就是2核cpu公用1G内存。

2.4 SPARK_DRIVER_MEMORY

该参数设置的是DRIVER分配的内存的大小。也就是执行start-thriftserver.sh机器上分配给thriftserver的内存大小。

 

3 yarn.nodemanager.resource.memory-mb

$HADOOP_HOME/etc/hadoop目录下的yarn-site.xml文件中,参数yarn.nodemanager.resource.memory-mb配置了每台机器yarn能够使用的物理内存大小,单位是MB。

如果发现集群内内存使用量明显比屋里内存小,可以修改该参数

4 spark.yarn.executor.memoryOverhead

该参数指定了每个executor在分配的内存之外,能够额外获得的内存的大小,默认是7%

目录
相关文章
|
10月前
|
分布式计算 Spark
Spark重要参数详解
Spark重要参数详解
65 0
|
存储 SQL JSON
Spark - Task 与 Partition 一一对应与参数详解
使用 spark 读取 parquet 文件,共有 M个 parquet 文件,于是启动了 PExecutor x QCores 进行如下 WordCount 代码测试,其中 P x Q = M 即 Core 数目与 parquet 文件数一一对应。
376 0
Spark - Task 与 Partition 一一对应与参数详解
|
分布式计算 Java 大数据
docker下的spark集群,调整参数榨干硬件
调整docker-compose编排的参数,充分发挥硬件信息能运行spark集群
246 0
docker下的spark集群,调整参数榨干硬件
|
存储 缓存 资源调度
spark-submit 参数设置
spark-submit 参数设置
|
SQL 分布式计算 运维
Hive引擎Spark优化配置参数2
上一篇内容讲了资源参数优化,本篇继续说明spark driver以及spark shuffle相关的参数调优。
1049 0
 Hive引擎Spark优化配置参数2
|
SQL 缓存 分布式计算
Hive引擎Spark优化配置参数1
Hive是大数据领域常用的组件之一,主要是大数据离线数仓的运算,关于Hive的性能调优在日常工作和面试中是经常涉及的的一个点,因此掌握一些Hive调优是必不可少的一项技能。影响Hive效率的主要有数据倾斜、数据冗余、job的IO以及不同底层引擎配置情况和Hive本身参数和HiveSQL的执行等因素。本文主要描述在底层引擎为Spark时,经常会用到的、常见的配置参数。
2062 0
Hive引擎Spark优化配置参数1
|
SQL 分布式计算 运维
技本功|Hive优化之Spark执行引擎参数调优(二)
影响Hive效率的主要有数据倾斜、数据冗余、job的IO以及不同底层引擎配置情况和Hive本身参数和HiveSQL的执行等因素。 本文主要结合实际业务情况,在使用Spark作为底层引擎时,通过一些常见的配置参数对报错任务进行调整优化,主要包含以下两个方面:
1124 0
技本功|Hive优化之Spark执行引擎参数调优(二)
|
分布式计算 分布式数据库 数据库
Spark on HBase Connector:如何在Spark侧设置HBase参数
前言 X-Pack Spark可以使用Spark on HBase Connector直接对接HBase数据库,读取HBase数据表数据。有时在读取HBase时需要设置HBase的一些参数调整性能,例如通过设置hbase.client.scanner.caching的大小调整读取HBase数据的性能。
2090 0
|
SQL 分布式计算 数据库
Spark on Phoenix 4.x Connector:如何在Spark侧设置Phoenix参数
前言 X-Pack Spark可以使用Spark on Phoenix 4.x Connector直接对接Phoenix数据库,读取Phoenix数据表数据。有时在读取Phoenix时需要设置Phoenix的一些参数,例如Phoenix为了保障数据库的稳定性,默认开了索引包含,即查询Phoebe表必须要带上索引或者主键字段作为过滤条件。
1665 0
|
资源调度 分布式计算 Java
spark submit参数及调优
spark submit参数介绍你可以通过spark-submit --help或者spark-shell --help来查看这些参数。使用格式: ./bin/spark-submit \ --class \ --master \ --deploy-mode \ --conf = \ .
4380 0