您正尝试在本地使用Spark,而不是以分布式方式使用我的猜测。当您使用saveAsTextFile时,它只是使用Hadoop的文件编写器保存这些文件并为每个RDD分区创建一个文件。如果你想要一个文件,你可以做的一件事是coalesce
将分区写入1个文件。但是,如果你上一个文件夹,你会发现该文件夹的名称是你保存的名称。所以你可以使用相同的路径sc.textFile
,它将再次将所有内容拉入分区。
你知道吗?我发现它非常优雅:说你的文件都在/ output目录中,只需使用以下命令将它们合并为一个,然后你可以轻松地重新加载为一个RDD:
hadoop fs -getmerge /output /local/file/path
没什么大不了的,我是雷锋。