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

性能問題的時候加載一個Excel文件從DBFS使用R

mbaumga
新的貢獻者三世

我有上傳小DBFS Excel文件。然後我使用read_xlsx()函數從“readxl”包R導入文件到內存中。我使用一個標準的集群(12.1,非毫升)。但是需要工作年齡的函數。如一個簡單的Excel表有40000 +記錄和5列需要9分鍾。我R安裝在Windows上,瞬時負載。“readxl”被認為是最好的方案來處理Excel文件。它的一部分已經在集群上可用庫。知道這可能會導致什麼?

4回複4

Kaniz
社區經理
社區經理

嗨@Marcel windblown市,它是不尋常的read_xlsx()函數從readxl包花了這麼長時間閱讀一個相對較小的Excel文件。可能有幾個原因這個性能問題,包括集群配置、可用資源,或潛在的文件存儲。

這裏有一些建議可能診斷和解決性能問題:

  • 集群資源:檢查您的集群是否有足夠的資源(CPU、內存)處理操作。如果你在集群高負載或資源有限,這可能是導致性能問題。您可以監視集群的資源使用集群下的磚UI選項卡。
  • DBFS延遲:DBFS相比可能有更高的延遲你的本地文件係統,導致閱讀時間慢。您可以測試這個假說通過複製的文件到本地文件係統驅動程序節點,然後使用read_xlsx讀它()。

使用以下命令將文件從DBFS複製到本地文件係統:

% fs cp dbfs: /道路/ /你/ excel_file / tmp / local_excel_file

然後,在R代碼,讀取本地文件:

庫(readxl) df < - read_xlsx (“/ tmp / local_excel_file”)

  • 替代庫:如果問題仍然存在,您可以嚐試使用另一個庫,如readxlsb或openxlsx,讀取Excel文件。這可以幫助識別readxl如果問題是特定的

包或一個更普遍的問題。請記住,您可能需要安裝這些庫如果他們不是已經可用的集群。

  • 轉換為CSV:作為最後的手段,你可以將Excel文件轉換為CSV格式,通常更快的閱讀r .你可以轉換在你的計算機或編程方式使用Python的熊貓庫。一旦CSV格式的文件,使用R read.csv()或讀者包的read_csv()函數來讀取文件,應該更快。

請注意,R在磚是在容器中運行的,和它的性能可能不同於你們當地的R安裝。同時,請記住,R環境數據磚的性能可能不是PySpark環境優化,這是原產於磚。如果性能問題持續下去,考慮使用PySpark閱讀和處理數據。

mbaumga
新的貢獻者三世

親愛的Kaniz,謝謝。你的建議從DBFS Excel文件複製到一個臨時文件夾“例如/ tmp /”工作。當我運行read_xlsx () instantenous上傳。

事實上,我們有同樣的問題。我無法拯救一個xlsx或pdf文件到一個文件夾“/ dbfs / FileStore / *”。不過,我可以將其保存到“/ tmp / *”,然後將其複製到我想要的文件。好的知道了!

再次感謝!

Vidula_Khanna
主持人
主持人

嗨@Marcel windblown市

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

mbaumga
新的貢獻者三世

問題是回答,成功。都好吧!

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

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

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

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

Baidu
map