如何从pyspark设置hadoop配置值

jav*_*dba 32 scala apache-spark pyspark

SparkContext的Scala版本具有该属性

sc.hadoopConfiguration
Run Code Online (Sandbox Code Playgroud)

我已成功使用它来设置Hadoop属性(在Scala中)

例如

sc.hadoopConfiguration.set("my.mapreduce.setting","someVal")
Run Code Online (Sandbox Code Playgroud)

然而,SparkContext的python版本缺少该访问器.有没有办法将Hadoop配置值设置为PySpark上下文使用的Hadoop配置?

小智 58

sc._jsc.hadoopConfiguration().set('my.mapreduce.setting', 'someVal')
Run Code Online (Sandbox Code Playgroud)

应该管用

  • 此解决方案也适用于尝试在使用s3n://地址时接受其AWS AccessKeyId/SecretAccessKey的任何人.`sc._jsc.hadoopConfiguration().设定( 'fs.s3n.awsAccessKeyId', '<access_key_id>')` (4认同)
  • 截至今天,_jsc 似乎不再可用。 (2认同)
  • 我已提交 [SPARK-33436](https://issues.apache.org/jira/browse/SPARK-33436) 来跟踪将 `hadoopConfiguration` 直接添加到 PySpark API,以便不再使用 `._jsc`必要的。 (2认同)

Har*_* Ck 5

您可以--conf在提交作业时使用该参数设置任何 Hadoop 属性。

--conf "spark.hadoop.fs.mapr.trace=debug"
Run Code Online (Sandbox Code Playgroud)

来源:https : //github.com/apache/spark/blob/branch-1.6/core/src/main/scala/org/apache/spark/deploy/SparkHadoopUtil.scala#L105