如何使用spark中的`saveATextFile`保存`wholeTextFile` RDD的结果?

时间:2015-11-30 21:46:49

标签: hadoop apache-spark hdfs pyspark

我使用wholeTextFile RDD中的spark在HDFS中创建了许多文件,我希望能够使用

将它们保存到特定目录中
anRDD.saveAsTextFile(<directory_path>)

这个问题是它会尝试创建一个全新的目录。我只想将这些结果放在现有目录中。我该怎么做呢?

我已经查看了文档here,但path参数似乎没有改变任何内容。

感谢。

1 个答案:

答案 0 :(得分:0)

您有几个选择:

  1. 滚动您自己的saveAsTextFile实现,该实现不检查输出目录是否已存在。

  2. 写入临时文件夹,然后将文件移至现有目录。

  3. RDD.saveAsTextFile使用TextOutputFormat,一个Hadoop OutputFormat来编写结果。如果查看TextOutputFormat及其基类FileOutputFormat的实现,则无法覆盖或附加到现有目录。这是有道理的,因为它需要为每个输出部分提供唯一的文件名。