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

How to save results from `wholeTextFile` RDD using `saveATextFile` in spark?

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

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

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

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

谢谢。

您有两个选择:

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

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


RDD.saveAsTextFile 使用 TextOutputFormat、Hadoop OutputFormat 来写入结果。如果您查看 TextOutputFormat 及其基础 class FileOutputFormat 的实现,则没有覆盖或追加到现有目录的选项。这是有道理的,因为它需要为每个输出部分提供唯一的文件名。