Я пытаюсь перечислить все файлы во всех папках и подпапках. Я пытаюсь поместить все в RDD или в фрейм данных (я не думаю, что это имеет значение, потому что это просто список имен файлов и путей). Я нашел в Интернете некоторый код, который выглядит многообещающе, но, похоже, ничего не делает. Хотя я довольно новичок в Scala, поэтому, может быть, я просто пропустил что-то простое.
Первый пример кода:
import org.apache.spark.sql.functions.input_file_name
val inputPath: String = "mnt/rawdata/2019/01/01/corp/*.gz"
val df = spark.read.text(inputPath)
.select(input_file_name, $"value")
.as[(String, String)] // Optionally convert to Dataset
.rdd // or RDD
Второй пример кода:
import java.io.File
def getListOfFiles(dir: String):List[File] = {
val d = new File(dir)
if (d.exists && d.isDirectory) {
d.listFiles.filter(_.isFile).toList
} else {
List[File]()
}
}
val files = getListOfFiles("mnt/rawdata/2019/01/01/corp/")