如何更改 Spark 程序的 HDFS 复制因子?

pyt*_*nic 3 hadoop scala hdfs apache-spark

我需要将 Spark 程序的 HDFS 复制因子从 3 更改为 1。在搜索时,我想出了“spark.hadoop.dfs.replication”属性,但是通过查看https://spark.apache.org/docs/latest/configuration.html,它似乎不再存在。那么,如何从 Spark 程序或使用 spark-submit 更改 hdfs 复制因子?

Lan*_*Lan 7

您应该使用spark.hadoop.dfs.replication在 Spark 应用程序中的 HDFS 中设置复制因子。但是为什么你在https://spark.apache.org/docs/latest/configuration.html 中找不到它?那是因为该链接包含特定火花的配置。事实上,您设置的任何属性spark.hadoop.*都将自动转换为 Hadoop 属性,去掉开头的“ spark.haddoop.”。您可以在https://github.com/apache/spark/blob/d7b1fcf8f0a267322af0592b2cb31f1c8970fb16/core/src/main/scala/org/apache/spark/deploy/SparkHadoopUtil.scala 上找到它的实现方式

你应该寻找的方法是 appendSparkHadoopConfigs