問題
假設您有一個本質上獨立的Parquet文件的大列表,其中包含各種不同的模式。您希望隻讀取與特定模式匹配的文件,而跳過不匹配的文件。
一種解決方案是按順序讀取文件,識別模式,並將DataFrames在一起。但是,當有數十萬個文件時,這種方法是不切實際的。
解決方案
設置Apache Spark屬性spark.sql.files.ignoreCorruptFiles來真正的然後讀取具有所需模式的文件。不匹配指定模式的文件將被忽略。生成的數據集隻包含來自那些與指定模式匹配的文件的數據。
設置Spark屬性usingspark.conf.set:
spark.conf.set(“spark.sql.files。ignoreCorruptFiles”、“真正的”)