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

标签 hadoop apache-spark hdfs pyspark

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

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

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

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

谢谢。

最佳答案

你有几个选择:

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

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


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

关于hadoop - 如何在 spark 中使用 `wholeTextFile` 保存来自 `saveATextFile` RDD 的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34008625/

相关文章:

Hadoop 2.6.0 - 在运行启动脚本时询问用户密码?

java - 从本地spark-submit检查远程HDFS上是否存在文件

hadoop - 使用 Oozie 工作流和协调器 - E0302 : Invalid parameter error

hadoop - Hadoop文件系统Shell:bin/hdfs dfs <args>

Hadoop - 有没有办法在作业之间共享自定义计数器?

scala - 从Kafka上的JSON消息在Spark流中创建Spark DataFrame

apache-spark - Spark join 导致列 ID 歧义错误

java - 使用 Java.IO 准备文件路径

Hadoop 分布

python - 过滤器生成的 PySpark DataFrame - 它存储在哪里?