2016-05-18 8 views
1

RDDを使ってrdd.saveAsTextFile('directory')を出力すると、ファイルはhdfs://directoryに保存されます。テキストファイルをローカルファイルシステムのディレクトリに直接保存することができますか(すなわちdirectory)?テキストファイルをSparkから直接ローカルファイルシステムに出力できますか?

+2

可能な複製を使用(http://stackoverflow.com/questions/31239161/save- [Javaを使用してローカルファイルシステムにスパークRDDを保存] a-spark-rdd-to-the-local-file-system-using-java) – DNA

答えて

1

もちろん、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) 
関連する問題