私は多くの異なるフォルダを持ち、各フォルダの中にはHadoopファイル(part_001
など)があります。ディレクトリを考える Sparkを使ってディレクトリからHadoopファイルを再帰的に読み込むには?
directory
-> folder1
-> part_001...
-> part_002...
-> folder2
-> part_001...
...
、どのように私は再帰的にこのディレクトリ内のすべてのフォルダの内容を読み、Scalaのを使用してスパークに単一RDDにこのコンテンツをロードすることができますか?
私はこれを見つけたが、それは再帰的に(私はimport org.apache.hadoop.mapreduce.lib.input
を使用しています)サブフォルダ内に進入していません。
var job: Job = null
try {
job = Job.getInstance()
FileInputFormat.setInputPaths(job, new Path("s3n://" + bucketNameData + "/" + directoryS3))
FileInputFormat.setInputDirRecursive(job, true)
} catch {
case ioe: IOException => ioe.printStackTrace(); System.exit(1);
}
val sourceData = sc.newAPIHadoopRDD(job.getConfiguration(), classOf[TextInputFormat], classOf[LongWritable], classOf[Text]).values
私もSequenceFile
を使用していますが、どのように再び私は理解していないこと、このweb-pageを見つけました私の場合にそれを適用する?あなたはスパークを使用している場合
あなたは、単純なワイルドカードで試してみましたか?ディレクトリ構造が一貫していれば、それは魅力のように機能するはずです – Chobeat
http://stackoverflow.com/a/27843858/647053を参照してください。 –
@Chobeat:dbustosp( 'var rdd = sc.textFile("パス/ */* ")')は、私が投稿したコードをすべて記述する必要なしに、私が説明したことを直接行いますか? – user7379562