如何从 pyspark 设置 hadoop 配置值
How to set hadoop configuration values from pyspark
SparkContext 的 Scala 版本具有 属性
sc.hadoopConfiguration
我已经成功地使用它来设置 Hadoop 属性(在 Scala 中)
例如
sc.hadoopConfiguration.set("my.mapreduce.setting","someVal")
但是 python 版本的 SparkContext 缺少该访问器。有没有办法将 Hadoop 配置值设置到 PySpark 上下文使用的 Hadoop 配置中?
我查看了 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()
sc._jsc.hadoopConfiguration().set('my.mapreduce.setting', 'someVal')
应该可以
您可以在提交作业时使用 --conf
参数设置任何 Hadoop 属性。
--conf "spark.hadoop.fs.mapr.trace=debug"
SparkContext 的 Scala 版本具有 属性
sc.hadoopConfiguration
我已经成功地使用它来设置 Hadoop 属性(在 Scala 中)
例如
sc.hadoopConfiguration.set("my.mapreduce.setting","someVal")
但是 python 版本的 SparkContext 缺少该访问器。有没有办法将 Hadoop 配置值设置到 PySpark 上下文使用的 Hadoop 配置中?
我查看了 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()
sc._jsc.hadoopConfiguration().set('my.mapreduce.setting', 'someVal')
应该可以
您可以在提交作业时使用 --conf
参数设置任何 Hadoop 属性。
--conf "spark.hadoop.fs.mapr.trace=debug"