取消
顯示的結果
而不是尋找
你的意思是:

火花謂詞下推鋪文件在使用極限

JacintoArias
新的貢獻者二世

你好,

在開發ETL對於大型的數據集,我想樣品頂部行檢查我的管道“運行”,所以我添加一個限製條款在讀取數據。

我驚訝地看到,不是創建一個單獨的任務,顯示命令創建了一個為每個分區文件(idk如果隻是檢查元數據或預加載數據,但是我擔心的是第二種情況下的執行時間)。

我期待的極限(n)條款下推到文件係統和加載數據從文件要求的數量。

有辦法確保這種行為?幹杯!

最小的例子:

(火花.read.parquet(“<路徑>”)#分區過濾器。()#獲得最高行.limit (100)) spark.show() # <——這等於觸發工作的任務數量的分區中的文件…

1接受解決方案

接受的解決方案

Kaniz
社區經理
社區經理

嗨@Jacinto Arias,這是因為目前還不支持謂詞下推在火花,看到的這個非常好的答案

實際上,(n)也應該需要很長時間。我隻是測試它,然而,得到相同的結果,你將幾乎是瞬時無論數據庫的大小,而花大量的時間限製。

在原帖子查看解決方案

6個回答6

Hubert_Dudek1
尊敬的貢獻者三世

隻是點與一個分區文件夾。

另外指定模式,以避免inferSchema行為。

如果你沒有模式可以使用samplingRatio =沒有因此將隻讀第一行決定模式。

JacintoArias
新的貢獻者二世

你好休伯特,謝謝你的快速反應,

>就點與一個分區文件夾。

這將工作,但我想要一個通解比可以應用在不改變文件夾內的路徑或不必看建築,有時你沒有輕易訪問S3或者其他文件係統(當使用一個目錄)

>另外指定模式,以避免inferSchema行為。

這個對我沒用,至少使用鑲花文件,它仍然創造了大量的任務。

>您可以使用samplingRatio =沒有

對我沒用,似乎它仍然讀取元數據從鋪文件/行

Kaniz
社區經理
社區經理

嗨@Jacinto Arias,這是因為目前還不支持謂詞下推在火花,看到的這個非常好的答案

實際上,(n)也應該需要很長時間。我隻是測試它,然而,得到相同的結果,你將幾乎是瞬時無論數據庫的大小,而花大量的時間限製。

JacintoArias
新的貢獻者二世

非常感謝Kaniz

我知道明白謂詞下推隻適用於WHERE子句與分區和拚花的內部統計數據文件。

我將會是很有趣的,有一種很好的方式來檢索幾行沒有硬編碼的一個高度分區數據集內部鑲花的路線文件加載dataframe時。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map