Je dois changer le facteur de réplication HDFS de 3 à 1 pour mon programme Spark. Lors de la recherche, j'ai trouvé la propriété "spark.hadoop.dfs.replication", mais en regardant https://spark.apache.org/docs/latest/configuration.html, elle ne semble plus exister. Alors, comment puis-je changer le facteur de réplication hdfs de mon programme Spark ou en utilisant spark-submit?Comment puis-je modifier le facteur de réplication HDFS pour mon programme Spark?
Répondre
La configuration HDFDS n'est pas spécifique à Spark. Vous devriez être capable de le modifier, en utilisant des fichiers de configuration Hadoop standard. En particulier hdfs-site.xml
:
<property>
<name>dfs.replication<name>
<value>3<value>
<property>
Il est également possible d'accéder à la configuration en utilisant Hadoop SparkContext
exemple:
val hconf: org.apache.hadoop.conf.Configuration = spark.sparkContext.hadoopConfiguration
hconf.setInt("dfs.replication", 3)
Vous devez utiliser spark.hadoop.dfs.replication
pour définir le facteur de réplication dans HDFS dans votre application d'allumage. Mais pourquoi vous ne pouvez pas le trouver dans le https://spark.apache.org/docs/latest/configuration.html? En effet, ce lien SEULEMENT contient une configuration spécifique à l'étincelle. En fait, toute propriété que vous avez définie avec spark.hadoop.*
sera automatiquement traduite en propriété Hadoop, en supprimant le début "spark.haddoop.
". Vous pouvez trouver la façon dont il est mis en œuvre à https://github.com/apache/spark/blob/d7b1fcf8f0a267322af0592b2cb31f1c8970fb16/core/src/main/scala/org/apache/spark/deploy/SparkHadoopUtil.scala
La méthode que vous devez rechercher est appendSparkHadoopConfigs