Поиск отдельных имен файлов при загрузке нескольких файлов в 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).

Другие вопросы по тегам