簡體   English   中英

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

[英]How can I change HDFS replication factor for my Spark program?

我需要將Spark程序的HDFS復制因子從3更改為1。 在搜索時,我想到了“ spark.hadoop.dfs.replication”屬性,但是通過查看https://spark.apache.org/docs/latest/configuration.html ,它似乎不再存在。 因此,如何從我的Spark程序或使用spark-submit更改hdfs復制因子?

您應該使用spark.hadoop.dfs.replication在spark應用程序中設置HDFS中的復制因子。 但是,為什么不能在https://spark.apache.org/docs/latest/configuration.html中找到它? 這是因為該鏈接包含spark特定的配置。 實際上,您設置的所有以spark.hadoop.*開頭的屬性都將自動轉換為Hadoop屬性,從而spark.haddoop.開頭的“ spark.haddoop. ”。 您可以在https://github.com/apache/spark/blob/d7b1fcf8f0a267322af0592b2cb31f1c8970fb16/core/src/main/scala/org/apache/spark/deploy/SparkHadoopUtil.scala中找到它的實現方式

您應該尋找的方法是appendSparkHadoopConfigs

HDFDS配置並不以任何方式特定於Spark。 您應該能夠使用標准Hadoop配置文件對其進行修改。 特別是hdfs-site.xml

<property> 
  <name>dfs.replication<name> 
  <value>3<value> 
<property>

也可以使用SparkContext實例訪問Hadoop配置:

val hconf: org.apache.hadoop.conf.Configuration = spark.sparkContext.hadoopConfiguration
hconf.setInt("dfs.replication", 3)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM