对于hadoop 2.x,我可以使用以下代码段配置spark hadoop:
spark.conf.set("spark.driver.host", "myhost")
但是,在spark 3.0中,当我尝试配置hadoop时:
session.sparkContext.hadoopConfiguration.set("spark.driver.host", "myhost")
它抛出:
[info] org.apache.spark.sql.AnalysisException: Cannot modify the value of a Spark config: spark.driver.host;
[info] at org.apache.spark.sql.RuntimeConfig.requireNonStaticConf(RuntimeConfig.scala:158)```
你能解释一下我错在哪里吗?
1条答案
按热度按时间rks48beu1#
在spark 3.x中,以下属性
spark.sql.legacy.setCommandRejectsSparkCoreConfs
新引入的默认情况下拒绝spark core遗留配置更改(https://github.com/apache/spark/blob/d897825d2d0430cb52ae9ac0f6fd742582041682/sql/catalyst/src/main/scala/org/apache/spark/sql/internal/sqlconf.scala) [line:2353]这在spark 2.x版本中不可用。这是属性的代码片段,
默认情况下,启动spark 3.x时,
这就导致了你的失败
解决方案:尝试设置
spark.sql.legacy.setCommandRejectsSparkCoreConfs,false
然后继续更改spark.driver.host
你可以改变它。