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

分區修剪/分區消除不適用於文件夾分區JSON文件?(火花3.1.2)

MartinB
貢獻者三世

想象以下設置:

我有日誌文件存儲為JSON文件分區年、月、日和小時身體上的文件夾:

”“”/ logs |——年= 2020 | = 2021年”——年= 2022 |——月= 01 '——月= 02 | = 01 |——天=…”——天= 13小時= 0000 | |,小時=…”——小時= 0900 | log000001。json |——<許多文件>“log000133。json”“”“

火花支持分區發現這樣的文件夾結構(“所有內置文件來源(包括文本/ CSV / JSON /獸人/拚花)能夠發現和推斷分區信息自動”https://spark.apache.org/docs/latest/sql-data-sources-parquet.html partition-discovery)

然而,鑲花的文件相比,我發現火花不使用該元數據信息分區修剪/分區消除當讀取JSON文件

在我用例我隻是感興趣從一個特定的時間窗口(見日誌過濾器:disappointed_face:

(火花.read .format (json) .load (/ logs) .filter(= = 2022年和月02和天= 13小時= 0900))

我認為激發能應用分區列的過濾器“早期”,隻有掃描文件夾匹配過濾器(例如火花不需要掃描文件夾和讀取文件在/日誌/年= 2020)。

然而,在實踐中我的查詢的執行需要大量的時間。看起來我好像火花首先掃描整個文件係統開始的/日誌讀取所有文件,然後應用過濾器(已經)讀取數據。由於嵌套文件夾結構和大量的文件夾/文件這是非常昂貴的。

顯然火花不壓低過濾器(適用於分區修剪/分區消除)。

對我來說,這是奇怪的行為不同於拚花處理JSON文件。

這是像設計的那樣或者一個錯誤嗎?

現在,我最終實現分區修剪自己在預處理步驟中使用dbutils.fs.ls掃描迭代“正確”的文件夾和組裝一個顯式的文件列表,然後我通過火花讀取命令。

26日回複26

嗨@Martin b,思想門戶讓你影響磚產品路線圖提供直接反饋到產品的團隊。使用門戶的思想:

  • 輸入特性請求。
  • 查看、評論和投票了其他用戶的請求。
  • 監控進展你最喜歡的想法磚產品團隊經過他們的產品規劃和開發過程。

嗨@Kaniz開羅,

當我試著訪問https://ideas.www.eheci.com/情況正如我描述了一個月前:登錄後,顯示一個錯誤:

image.png上個月,我理解,你要檢查,為什麼是這樣。

你是積極的,磚社區版(=免費)允許用戶訪問門戶的想法?

嗨@Martin b,你需要一個訂閱提交一個主意。

磚社區版(=免費的)用戶不允許訪問門戶的想法。

嗨@Kaniz開羅,

這是不幸的;但是謝謝你的回答。

嗨@Martin b,磚,Community Edition的用戶,可以獲得更多的能力和獲得產品級升級他們的訂閱功能完整的磚平台Beplay体育安卓版本。升級,14天免費試用注冊聯係我們

完整的磚平台提供的Beplay体育安卓版本產品級功能,比如一個無限數量的集群規模迅速上升或下降,啟動工作,合作,先進的安全控製,和專家的支持。它幫助用戶處理數據規模或構建Apache火花™應用程序在一個團隊中設置。

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

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

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

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

Baidu
map