Cómo establecer valores de configuración de hadoop desde pyspark


La versión Scala de SparkContext tiene la propiedad

sc.hadoopConfiguration

Lo he usado con éxito para establecer las propiedades de Hadoop (en Scala)

Por ejemplo

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

Sin embargo, la versión python de SparkContext carece de ese accessor. ¿Hay alguna forma de establecer valores de configuración de Hadoop en la Configuración de Hadoop utilizada por el contexto PySpark?

Author: user8371915, 2015-03-04

3 answers

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

Debería funcionar

 47
Author: Dmytro Popovych,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-18 21:30:30

Investigué el código fuente de PySpark(context.py) y no hay un equivalente directo. En su lugar, algunos métodos específicos admiten el envío de un mapa de pares (clave, valor):

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
Author: javadba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-17 18:08:17

Puede establecer cualquier propiedad de Hadoop utilizando el parámetro --conf al enviar el trabajo.

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

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

 2
Author: Harikrishnan Ck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-17 18:07:44