web-dev-qa-db-ja.com

pysparkからhadoop設定値を設定する方法

Scala SparkContextのバージョンにはプロパティがあります

sc.hadoopConfiguration

私はこれを使ってHadoopプロパティを設定することに成功しました(Scalaで)

例えば.

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

ただし、SparkContextのpythonバージョンにはそのアクセサーがありません。PySparkコンテキストで使用されるHadoop構成にHadoop構成値を設定する方法はありますか?

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

動作するはずです

55
Dmytro Popovych

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()
3
javadba

ジョブの送信中に--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

2
Harikrishnan Ck