如何處理損壞的Parquet文件與不同的模式

學習如何使用Databricks讀取具有特定模式的Parquet文件。

寫的亞當Pavlacka

最新發布日期:2022年5月31日

問題

假設您有一個很大的列表,其中包含基本獨立的Parquet文件,具有各種不同的模式。您希望隻讀取那些匹配特定模式的文件,並跳過不匹配的文件。

一種解決方案可能是按順序讀取文件,識別模式,然後聯合DataFrames在一起。但是,當有數十萬個文件時,這種方法是不切實際的。

解決方案

設置Apache Spark屬性spark.sql.files.ignoreCorruptFiles真正的然後使用所需的模式讀取文件。與指定模式不匹配的文件將被忽略。結果數據集隻包含與指定架構匹配的文件中的數據。

設置Spark屬性使用spark.conf.set

spark.conf.set(“spark.sql.files。ignoreCorruptFiles”、“真正的”)

或者,您可以在火花配置AWS|Azure|GCP).