应用配置
参数名称 | 默认值 | 描述 |
spark.app.name | 无 | 应用名称,在UI和日志中使用 |
spark.driver.cores | 1 | 在cluster模式中有效,driver进程使用的core数量 |
spark.driver.maxResultSize | 1G | spark中每一个action计算所有分区的序列化结果大小,超出这个值,程序将会终止 |
spark.driver.memory | 1G | driver进程运行的内存大小。可以在程序代码中通过SparkConf进行设置,也可以在spark-submit中使用--driver-memory进行设置 |
spark.executor.memory | 1G | 每一个executor执行的内存大小 |
spark.extraListeners | 无 | 实现SparkListener的监听器,在SparkContext初始化时创建出来 |
spark.local.dir | /tmp | 用于spark应用中空间划分,map输出结果、RDD结果存储 |
spark.logConf | false | SparkContext中有效的日志设置(INFO级) |
spark.master | 无 | spark应用连接的master |
spark.submit.deployMode | 无 | client/cluster |
运行环境配置
spark.driver.extraClassPath | 无 | driver运行扩展的classpath |
spark.driver.extraJavaOptions | 无 | driver运行扩展JVM参数 |
spark.driver.extraLibraryPath | 无 | JVM家在driver时,扩展包路径 |
spark.driver.userClassPathFirst | false | driver启动加载的用户自定义的包路径,只在cluster模式下有效 |
spark.executor.extraClassPath | 无 | executor扩展class路径 |
spark.executor.extraJavaOptions | 无 | executor扩展JVM参数 |
spark.executor.extraLibraryPath | 无 | executor扩展包路径 |
spark.executor.logs.rolling.maxRetainedFiles | 无 | 系统保留日志文件最大数量 |
spark.executor.logs.rolling.enableCompression | false | 系统保留日志文件是否压缩 |
spark.executor.logs.rolling.maxSize | 无 | 日志文件保存策略之-系统保留日志文件的最大大小 |
spark.executor.logs.rolling.strategy | 无 | 设置日志文件保存策略 |
spark.executor.logs.rolling.time.interval | daily | 日志文件保存策略之-系统保留日志文件的最大时间 |
spark.executor.userClassPathFirst | false | |
spark.executorEnv.[EnvironmentVariableName] | 无 | |
spark.python.profile | false | |
spark.python.profile.dump | 无 | |
spark.python.worker.memory | 512M | 每一个python的worker进程的内存大小,在运行期间,如果数据大小超过这个限制,数据将会被分片并保存在磁盘上 |
spark.python.worker.reuse | ture | |
spark.files | 每一个worker执行的工作目录 | |
spark.submit.pyFiles | ||
spark.jars | driver和executor将会加载的jars | |
spark.jars.packages | ||
spark.jars.excludes | ||
spark.jars.ivy | ||
spark.pyspark.driver.python | ||
spark.pyspark.python |
Shuffle行为
参数名称 | 默认值 | 描述 |
spark.reducer.maxSizeInFlight | 48M | map端的输出会同时为每一个reduce task生成一份所需数据,这些数据使用的最大内存缓存大小。 |
spark.reducer.maxReqsInFlight | Int.MaxValue | |
spark.shuffle.compress | true | 是否压缩map端输出,压缩方式会使用spark.io.compression.codec的配置 |
spark.shuffle.file.buffer | 32K | 每一个Shuffle文件在内存中的大小 |
spark.shuffle.io.maxRetries | 3 | 由于IO问题导致数据抓取失败的重试次数,可以解决由长时间GC和短暂的网络问题导致的IO问题 |
spark.shuffle.io.numConnectionsPerPeer | 1 | |
spark.shuffle.io.preferDirectBufs | true | |
spark.shuffle.io.retryWait | 5s | 重试的时间间隔 |
spark.shuffle.service.enabled | false | |
spark.shuffle.service.port | 7337 | |
spark.shuffle.service.index.cache.entries | 1024 | |
spark.shuffle.sort.bypassMergeThreshold | 200 | |
spark.shuffle.spill.compress | true | 压缩shuffle阶段切片的数据 |
spark.io.encryption.enabled | false | 加密 |
spark.io.encryption.keySizeBits | 128 | 加密关键字长度 |
spark.io.encryption.keygen.algorithm | HmacSHA1 | 加密算法 |
SparkUI
spark.eventLog.compress | false | 是否日志事件 |
spark.eventLog.dir | file:///tmp/spark-events | |
spark.eventLog.enabled | false | Spark应用事件记录,可用时,以上参数才能生效 |
spark.ui.enabled | true | webUI是否可用 |
spark.ui.killEnabled | true | 是否可以在UI界面中结束job任务 |
spark.ui.port | 4040 | UI端口 |
spark.ui.retainedJobs | 1000 | 垃圾回收之前保存的job数量 |
spark.ui.retainedStages | 1000 | 垃圾回收之前保存的stage数量 |
spark.ui.retainedTasks | 100000 | 垃圾回收之前保存的task数量 |
spark.ui.reverseProxy | false | |
spark.ui.reverseProxyUrl | ||
spark.worker.ui.retainedExecutors | 1000 | |
spark.worker.ui.retainedDrivers | 1000 | |
spark.sql.ui.retainedExecutions | 1000 | |
spark.streaming.ui.retainedBatches | 1000 | |
spark.ui.retainedDeadExecutors | 100 |
压缩序列化
更多http://spark.apache.org/docs/latest/configuration.html