我想在代码中直接覆盖
spark.sql.shuffle.partitions
参数。
val sparkSession = SparkSession
.builder()
.appName("SPARK")
.getOrCreate()
sparkSession.conf.set("spark.sql.shuffle.partitions", 2)
但这个设置并不生效,因为在日志中我得到了以下警告信息。
WARN OffsetSeqMetadata:66 - Updating the value of conf 'spark.sql.shuffle.partitions' in current session from '2' to '200'.
而在spark-submit
shell中传递的相同参数却能工作。
#!/bin/bash
/app/spark-2/bin/spark-submit \
--queue root.dev \
--master yarn \
--deploy-mode cluster \
--driver-memory 5G \
--executor-memory 4G \
--executor-cores 2 \
--num-executors 4 \
--conf spark.app.name=SPARK \
--conf spark.executor.memoryOverhead=2048 \
--conf spark.yarn.maxAppAttempts=1 \
--conf spark.sql.shuffle.partitions=2 \
--class com.dev.MainClass
有什么想法吗?