【发布时间】:2016-05-18 19:54:06
【问题描述】:
使用 RDD,我可以输出 rdd.saveAsTextFile('directory'),它将文件保存在 hdfs://directory 中。文本文件是否可以直接保存到本地文件系统上的目录(即directory)?
【问题讨论】:
标签: hadoop apache-spark pyspark
使用 RDD,我可以输出 rdd.saveAsTextFile('directory'),它将文件保存在 hdfs://directory 中。文本文件是否可以直接保存到本地文件系统上的目录(即directory)?
【问题讨论】:
标签: hadoop apache-spark pyspark
当然可以...由于 saveAsTextFile('directory') 将保存与分区器一样多的文件,因此您首先需要在复制到本地之前合并文件(除非您希望将每个文件复制到本地) .因此首先调用
FileUtil.copyMerge(sourceFileSystem, new Path(sourceFullPath), destFileSystem, new Path(destinationFullPath), true, sparkContext.hadoopConfiguration, null)
然后使用
FileSystem fs = FileSystem.get(yourConfiguration)
fs.copyToLocalFile(true, destinationFullPath, localFilePath)
【讨论】: