Como ler recursivamente arquivos Hadoop do diretório usando o Spark?
Dentro do diretório fornecido, tenho muitas pastas diferentes e, dentro de cada pasta, tenho arquivos Hadoop (part_001
etc.).
directory
-> folder1
-> part_001...
-> part_002...
-> folder2
-> part_001...
...
Dado o diretório, como posso ler recursivamente o conteúdo de todas as pastas dentro desse diretório e carregar esse conteúdo em um único RDD no Spark usando o Scala?
Encontrei isso, mas ele não entra recursivamente em subpastas (estou usandoimport 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
Eu também achei issopágina da web que usaSequenceFile
, mas novamente não entendo como aplicá-lo ao meu caso?