Конфигурация Spark ignoreCorruptFiles игнорирует неповрежденные файлы, когда поврежден первый файл

#dataframe #apache-spark #pyspark #parquet #corrupt

#dataframe #apache-spark #pyspark #паркет #поврежден

Вопрос:

У меня есть папка, которая содержит один поврежденный файл и другие правильные файлы (неповрежденные)

Путь: s3://temp-bucket/test/
Files:

s3:// temp-bucket/test/a_corrupt_file.parquet
s3:// temp-bucket/test/b_proper_file1.parquet
s3: // temp-bucket/test/b_proper_file2.parquet

 spark.sqlContext.setConf("spark.sql.files.ignoreCorruptFiles", "false")
val corruptTest = spark.read.parquet("s3://temp-bucket/test/")
 

Приведенный выше код завершается ошибкой с приведенным ниже исключением

Вызвано: java.io.IOException: не удалось прочитать нижний колонтитул для файла:

 spark.sqlContext.setConf("spark.sql.files.ignoreCorruptFiles", "true")
val corruptTest = spark.read.parquet("s3://temp-bucket/test/")
 

Приведенный выше код завершается ошибкой с приведенным ниже исключением

org.apache.spark.sql.AnalysisException: невозможно определить схему для Parquet

С ignoreCorruptFiles=true, когда первый файл (лексикографически) поврежден, spark игнорирует все файлы, включая правильные неповрежденные файлы

Комментарии:

1. Одним из решений, которое я нашел, является предоставление схемы во время чтения. Но я не знаю схему перед чтением