如何从pyspark设置hadoop配置值

时间:2015-03-04 00:29:32

标签: scala apache-spark pyspark

SparkContext的Scala版本具有属性

sc.hadoopConfiguration

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

e.g。

sc.hadoopConfiguration.set("my.mapreduce.setting","someVal")

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

3 个答案:

答案 0 :(得分:55)

sc._jsc.hadoopConfiguration().set('my.mapreduce.setting', 'someVal')

应该有效

答案 1 :(得分:3)

我查看了PySpark源代码( context.py )并且没有直接的等效代码。相反,某些特定方法支持在(键,值)对的映射中发送:

fileLines = sc.newAPIHadoopFile('dev/*', 
'org.apache.hadoop.mapreduce.lib.input.TextInputFormat',
'org.apache.hadoop.io.LongWritable',
'org.apache.hadoop.io.Text',
conf={'mapreduce.input.fileinputformat.input.dir.recursive':'true'}
).count()

答案 2 :(得分:2)

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

--conf "spark.hadoop.fs.mapr.trace=debug"

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