---
title: 配置客户端参数
description: "使用Spark时，可以在客户端上设置一些参数，这些参数会影响Spark作业的执行效率和资源使用情况。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Spark/kunpengspark2xhdp_05_0019.html
sourcePath: /source/zh/kunpengbds/ecosystemEnable/Spark/kunpengspark2xhdp_05_0019.html
indexId: 3d20779d4f2b9fbcb5411021c77dd4fc54774a0d93105a8e1e1149a550ea314074
---
# 配置客户端参数

#### 目的

使用Spark时，可以在客户端上设置一些参数，这些参数会影响Spark作业的执行效率和资源使用情况。


#### 方法

客户端参数名称、推荐值以及修改原因请参见表1。


**表1 客户端配置参数说明**

| 参数名 | 推荐值 | 修改原因 |
| --- | --- | --- |
| spark.shuffle.compress | True | 通过对Shuffle数据进行压缩，从而降低网络传输开销，提高任务执行效率。 |
| spark.rdd.compress | True | 减小RDD过程中Cache数据的尺寸。压缩Cache数据，减少内存占用，从而提升数据缓存效率。 |
| spark.io.compression.codec | snappy | RDD、Shuffle输出等内部数据的编码解码器，snappy在速度上较快且内存/CPU占用小，从而降低资源消耗。 |
| spark.shuffle.spill.compress | True | 中间结果在spill到本地硬盘时都会进行压缩，节省耗时。压缩写入磁盘的数据，加快磁盘IO速度，从而减少硬盘空间占用。 |
| spark.locality.wait | 10s | 设置本地化等待时间，使Spark优先将任务分配到数据所在的节点，从而减少跨节点网络传输。 |


- 方法一：客户端的参数配置主要在spark-defaults.conf中，具体的路径为“$SPARK_HOME/conf/spark-defaults.conf”。该文件为Spark提供配置值，在运行Spark作业时会自动使用这些值。

  1. 打开文件。

```
vi $SPARK_HOME/conf/spark-defaults.conf
```


  2. 按“i”进入编辑模式，修改对应参数的配置值。

```
# 开启Shuffle过程中的数据压缩
spark.shuffle.compress true
# 开启RDD持久化到磁盘时的数据压缩
spark.rdd.compress true
# 设置IO压缩编解码器为snappy
spark.io.compression.codec snappy
# 开启Shuffle溢出(Spill)到磁盘时的数据压缩
spark.shuffle.spill.compress true
# 设置任务调度等待数据本地性的超时时间为10秒
spark.locality.wait 10s
```


  3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
- 方法二：通过终端命令行使用spark-submit进行设置。设置命令如下：

```
spark-submit \
--conf "spark.shuffle.compress=true" \
--conf "spark.rdd.compress=true" \
--conf "spark.io.compression.codec=snappy" \
--conf "spark.shuffle.spill.compress=true" \
--conf "spark.locality.wait=10s" \
your_application.py
```
