#apache-spark #amazon-emr
Вопрос:
У нас есть несколько заданий (у которых нет общего кода, кроме Spark lib), которые пишут быстрые файлы parquet. Случайно некоторые файлы повреждены. Задание по написанию этих файлов не завершается неудачно и не вызывает особых ошибок.
В большинстве случаев задание записывает файлы не поврежденными, но иногда оно записывает поврежденные файлы, и задание не завершается неудачно. Таким образом, мы знаем, что файлы повреждены только тогда, когда пытаемся их прочитать.
Таким образом: невозможно легко воспроизвести (очень случайно и редко) и нет ошибок, связанных с повреждением в задании, которое записывает файлы.
Когда мы пытаемся прочитать эти файлы, у нас есть:
- С Помощью Паркетных Инструментов:
Ошибка операционной системы: Ошибка ввода-вывода: Поврежденные сжатые данные.
- Искра:
Вызвано: java.io.IOException: не удалось прочитать страницу страницы [байт.размер=1048612, количество значений=58058, несжатый размер=1048612] в col [client_id] необязательный двоичный идентификатор клиента (UTF8) в org.apache.spark.sql.execution.datasources.parquet.VectorizedColumnReader.readPageV1(VectorizedColumnReader.java:618) в org.apache.spark.sql.execution.datasources.parquet.VectorizedColumnReader.access$000(VectorizedColumnReader.java:49) в org.apache.spark.sql.execution.datasources.parquet.VectorizedColumnReader$1.visit(VectorizedColumnReader.java:547) … еще 44 Вызвано: Исключение java.io.IOException: НЕ УДАЛОСЬ выполнить СЖАТИЕ(5)
- С Афиной:
GENERIC_INTERNAL_ERROR: Неправильный ввод: смещение=259867
Задания работали нормально весь прошлый год, и у нас есть эти ошибки с 5 ноября, с тех пор мы не пересылали наш кластер EMR и код заданий.
Наш стек:
emr 5.31.0 Spark 2.4.6 openjdk 1.8.0_302 EMRFS consistent view:Disabled
Я знаю, что это похоже на сообщение в бутылке, но мы тук, и если кто-то столкнулся с проблемой и у него есть идея, пожалуйста, не стесняйтесь, спасибо