¿Cómo leer recursivamente archivos Hadoop desde el directorio usando Spark?

Dentro del directorio dado tengo muchas carpetas diferentes y dentro de cada carpeta tengo archivos Hadoop (part_001, etc.)

directory
   -> folder1
      -> part_001...
      -> part_002...
   -> folder2
      -> part_001...
   ...

Dado el directorio, ¿cómo puedo leer recursivamente el contenido de todas las carpetas dentro de este directorio y cargar este contenido en un único RDD en Spark usando Scala?

Encontré esto, pero no entra recursivamente en subcarpetas (estoy 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

También encontré estopágina web que usaSequenceFile, pero de nuevo, no entiendo cómo aplicarlo a mi caso.

Respuestas a la pregunta(2)

Su respuesta a la pregunta