Я обнаружил, что параметры должны быть установлены следующим образом:
и данного каталога у меня есть много разных папок, и внутри каждой папки у меня есть файлы Hadoop (part_001
, так далее.).
directory
-> folder1
-> part_001...
-> part_002...
-> folder2
-> part_001...
...
Учитывая каталог, как я могу рекурсивно прочитать содержимое всех папок в этом каталоге и загрузить это содержимое в один RDD в Spark, используя Scala?
Я нашел это, но он не рекурсивно входит в подпапки (я использую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
, но опять же я не понимаю, как применить это к моему делу?