La version Scala de SparkContext a la propriété
sc.hadoopConfiguration
J'ai utilisé cela avec succès pour définir les propriétés Hadoop (dans Scala)
par exemple.
sc.hadoopConfiguration.set("my.mapreduce.setting","someVal")
Cependant, la version python de SparkContext n'a pas cet accesseur. Existe-t-il un moyen de définir les valeurs de configuration Hadoop dans la configuration Hadoop utilisée par le contexte PySpark?
sc._jsc.hadoopConfiguration().set('my.mapreduce.setting', 'someVal')
devrait marcher
J'ai regardé le code source de PySpark ( context.py ) et il n'y a pas d'équivalent direct. Au lieu de cela, certaines méthodes spécifiques prennent en charge l'envoi d'une carte de paires (clé, valeur):
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()
Vous pouvez définir toutes les propriétés Hadoop à l'aide de --conf
paramètre lors de la soumission du travail.
--conf "spark.hadoop.fs.mapr.trace=debug"