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

鑲木地板文件包括分區列文件

guruv
新的貢獻者三世

你好,

我有一個預定的日常工作處理數據和寫root_folder等鋪文件在一個特定的文件夾結構/ {CountryCode} / parquetfiles。每一天的工作將為countrycode寫新數據為countrycode文件夾下嗎

我試圖實現這一目標通過使用

dataframe.partitionBy (countryCode) .write.parquet (root_Folder)

這是創建一個文件夾結構

root_folder / countryCode = x / part1-snappy.parquet

root_folder / countryCode = x / part2-snappy.parquet

root_folder / countryCode = y / part1-snappy.parquet

但coutryCode列從鋪中刪除文件。

在我的情況下,拚花要讀取文件是由外部的消費者和他們希望coutryCode列文件。

有一個選項列在文件和文件夾的路徑。

1接受解決方案

接受的解決方案

Hubert_Dudek1
尊敬的貢獻者三世
  • 請添加.option (“mergeSchema”,“真正的”)
  • 在filePath指定主要頂級文件夾分區(數據集拚花的根文件夾)

這是官方文檔分區的發現https://spark.apache.org/docs/2.3.1/sql-programming-guide.html partition-discovery

在原帖子查看解決方案

4回複4

Hubert_Dudek1
尊敬的貢獻者三世

大多數外部消費者將讀取分區時列正確配置(例如Azure數據工廠或權力BI)。

唯一的方法就是你會重複列與其他名稱(你不能具有相同的名稱,因為它將產生附加的衝突和讀取來自許多客戶):

.withColumn (“foo_坳(" foo "))

guruv
新的貢獻者三世

謝謝你的回複。你能建議消費者閱讀自定義代碼閱讀文件時可以得到partitional列?

目前消費者越來越文件夾中的所有文件列表,和過濾文件已經處理過,然後讀取每一個新文件

spark.read.format(鋪).load (filePath)

Hubert_Dudek1
尊敬的貢獻者三世
  • 請添加.option (“mergeSchema”,“真正的”)
  • 在filePath指定主要頂級文件夾分區(數據集拚花的根文件夾)

這是官方文檔分區的發現https://spark.apache.org/docs/2.3.1/sql-programming-guide.html partition-discovery

guruv
新的貢獻者三世

謝謝會核對的其他問題。

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

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

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

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

Baidu
map