调度
调度相关配置说明详见下表:
配置项
|
默认值
|
说明
|
---|---|---|
spark.scheduler.mode | FIFO | 提交到同一个SparkContext的job的调度策略,有FIFO和FAIR两种。 |
Spark SQL
SQL组件相关配置说明详见下表:
配置项
|
默认值
|
说明
|
---|---|---|
spark.sql.autoBroadcastJoinThreshold | 10485760 (10MB) | join操作时自动进行broadcast操作的表大小的阈值,小于该值就触发broadcast操作,设为-1表示禁用自动broadcast功能。 |
spark.sql.tungsten.enabled | true | |
spark.sql.shuffle.partitions | 200 |
Spark Streaming
Streaming组件相关配置说明见下表:
配置项
|
默认值
|
说明
|
---|---|---|
配置项
|
默认值
|
说明
|
spark.streaming.backpressure.enabled | false………… | 控制是否开启反压(backpressure)功能,开启后会根据数据处理的速度来调节数据输入的速度。
这个速度在内部会动态调节,但受spark.streaming.receiver.maxRate和spark.streaming.kafka.maxRatePerPartition参数限制,不会超过这两个值。 |
spark.streaming.backpressure.initialRate | not set | |
spark.streaming.blockInterval | 200 ms | |
spark.streaming.receiver.maxRate | not set | |
spark.streaming.receiver.writeAheadLog.enable | false | 是否打开receiver的write ahead log功能。如果打开,那么所有的receiver接收的数据将会存在log文件中,一旦driver出现故障能够自动恢复。 |
spark.streaming.unpersist | true | |
spark.streaming.stopGracefullyOnShutdown | false | |
spark.streaming.kafka.maxRatePerPartition | not set | 从kafka的partition中读取的最大速率(即每秒最多读取的record条数)。 |
spark.streaming.kafka.maxRetries | 1 | |
spark.streaming.ui.retainedBatches | 1000 | |
spark.streaming.driver.writeAheadLog.closeFileAfterWrite | false | |
spark.streaming.receiver.writeAheadLog.closeFileAfterWrite | false | |
spark.streaming.concurrentJobs | 1 | 允许并行执行的job数目,开启后允许同时执行多个batch,即上一个batch对应的job没有执行完,就可以开始执行下一个batch的job。如果计算逻辑速度较慢,或存在慢节点问题,建议就设为1。 |
Spark on Yarn
基于Yarn调度模式的相关参数说明见下表:
配置项
|
默认值
|
说明
|
---|---|---|
spark.yarn.am.memory | 512M
…… |
|
spark.yarn.jars |
无 | 要分发到Yarn container的Spark库,该参数被设置为一个hdfs路径,如果不设置默认使用本地Spark客户端的jars。使用该参数的好处在于Yarn会在节点上通过分布式Cache缓存这些jars而不必每次运行都重新分发。 |