Можно ли отследить источник записи в Spark?

1

При обработке нескольких файлов параллельно с Spark я хотел бы узнать, из какого файла идет конкретная запись. Моя цель - назначить идентификатор файла (или, по крайней мере, имя файла) для каждой записи для целей внутреннего аудита. Есть какой-либо способ сделать это?

Я использую Spark Java API.

Теги:
apache-spark

1 ответ

1
Лучший ответ

Да, вы можете использовать SparkContext.wholeTextFiles который дает вам имя файла в качестве ключа и всего файла в качестве значения. Если sc - это SparkContext (JavaSparkContext в вашем случае), просто вызовите sc.wholeTextFiles("path/to/dir/")

PS: Я ответил на аналогичный вопрос раньше и обнаружил, что у этой функции есть проблемы с чтением сжатых файлов (проверяется только с помощью gzip), поэтому имейте это в виду.

  • 0
    Спасибо, Ааронман. Есть ли у предыдущих версий spark такие возможности. Я забыл упомянуть, что я до сих пор на Spark 0.9.1
  • 0
    @ soroka21, его нет, обновите или извлеките реализацию на github , если вы используете систему управления зависимостями, такую как maven (которой вы должны быть), обновление очень просто

Ещё вопросы

Сообщество Overcoder
Наверх
Меню