Поиск отдельных имен файлов при загрузке нескольких файлов в Apache Spark
У меня есть задание Apache Spark, которое загружает несколько файлов для обработки с использованием
val inputFile = sc.textFile(inputPath)
Это работает нормально. Однако для целей аудита было бы полезно отследить, какая строка пришла из какого файла, когда inputPath является подстановочным знаком. Что-то вроде RDD[(String, String)], где первая строка - это строка входного текста, а вторая - имя файла.
В частности, я использую Dataproc от Google, и файлы находятся в облачном хранилище Google, поэтому пути похожи на "gs://my_data/*.txt".
1 ответ
Проверьте SparkContext # wholeTextFiles.
Иногда, если вы используете много входных путей, вы можете захотеть использовать рабочие ресурсы для этого списка файлов. Чтобы сделать это, вы можете использовать части этого ответа в Scala для улучшения производительности целых текстовых файлов в pyspark (игнорируйте все биты питона, важны части scala).