在我hdfs-site.xml
的配置中,复制因子为 1。
但是,将我的结果写入 hdfs 时:
someMap.saveAsTextFile("hdfs://HOST:PORT/out")
结果自动复制了 3 倍,覆盖了我自己的复制因子。为了节省一些空间,我希望输出的复制因子也为 1。
spark如何告诉HDFS使用复制因子1?
在我hdfs-site.xml
的配置中,复制因子为 1。
但是,将我的结果写入 hdfs 时:
someMap.saveAsTextFile("hdfs://HOST:PORT/out")
结果自动复制了 3 倍,覆盖了我自己的复制因子。为了节省一些空间,我希望输出的复制因子也为 1。
spark如何告诉HDFS使用复制因子1?
我认为 spark 正在加载一个将复制设置为 3 的默认 hadoop 配置。要覆盖它,您需要设置一个环境变量或系统属性,类似于您可以在此处找到的其他 spark 配置。
你可能想要这样的东西:
System.setProperty("spark.hadoop.dfs.replication", "1")
或在您的 jvm 启动中:
-Dspark.hadoop.dfs.replication=1
希望这样的事情应该工作......