簡體   English   中英

Py4JJavaError:嘗試在本地保存 csv 文件時調用 o8660.save 時發生錯誤

[英]Py4JJavaError: An error occured while calling o8660.save when trying to save csv file locally

我想在本地保存 csv 文件,而不是將其保存到 Hadoop 文件系統。 當我使用以開頭的路徑時出現以下錯誤

> 'file://'

我該如何解決這個問題? 或者如何在本地保存文件而不會出現任何錯誤?

在此處輸入圖像描述

恐怕它不會那樣工作,因為在本地保存數據意味着它必須全部存在於驅動程序中。 Per pyspark docs , the path parameter in pyspark.sql.DataFrameWriter.csv is a "path in any Hadoop supported file system" .

據我所知,有幾種選擇:

  1. 將dataframe保存到HDFS/Hadoop,然后復制到本地FS hdfs dfs -mget... 這將是最直接和首選的方式。
  2. 執行df.collect()將完整的 dataframe 帶到驅動程序,然后將其寫入本地 FS。 這對於大型數據幀可能不可行,因為它可能會使驅動程序因 OOM 而崩潰。
  3. 使用df.toLocalIterator()一次將數據帶到驅動程序一個分區,然后將其寫入本地 FS。 這避免/減少了先前選項帶來的 OOM 機會。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM