![](/img/trans.png)
[英]Pyspark Error - Py4JJavaError: An error occurred while calling o731.load
[英]Py4JJavaError: An error occurred while calling
我是 PySpark 的新手。 我一直在用測試樣本編寫我的代碼。 一旦我在較大的文件(3GB 壓縮)上運行代碼。 我的代碼只是做一些過濾和連接。 我不斷收到有關 py4J 的錯誤。
任何幫助都會有用,並表示贊賞。
from pyspark.sql import SparkSession
from pyspark.conf import SparkConf
ss = SparkSession \
.builder \
.appName("Example") \
.getOrCreate()
ss.conf.set("spark.sql.execution.arrow.enabled", 'true')
df = ss.read.csv(directory + '/' + filename, header=True, sep=",")
# Some filtering and groupbys...
df.show()
返回
Py4JJavaError: An error occurred while calling o88.showString.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in
stage 3.0 failed 1 times, most recent failure: Lost task 0.0 in stage 3.0 (TID
1, localhost, executor driver): java.lang.OutOfMemoryError: Java heap space
...
Caused by: java.lang.OutOfMemoryError: Java heap space
更新:我使用的是 py4j 10.7 並且剛剛更新到 10.8
更新(1):添加 spark.driver.memory:
ss = SparkSession \
.builder \
.appName("Example") \
.config("spark.driver.memory", "16g")\
.getOrCreate()
匯總返回錯誤:
ERROR:py4j.java_gateway:An error occurred while trying to connect to the Java server (127.0.0.1:38004)
py4j.protocol.Py4JNetworkError: Answer from Java side is empty
"Error while receiving", e, proto.ERROR_ON_RECEIVE)
py4j.protocol.Py4JNetworkError: Error while receiving
Py4JError
Py4JError: An error occurred while calling o94.showString
UPDATE(2) :我通過更改 spark-defaults.conf 文件進行了嘗試。 仍然出現錯誤PySpark: java.lang.OutofMemoryError: Java heap space
半解決:這似乎是一個普遍的內存問題。 我啟動了一個 2xlarge 實例,內存為 32g。 程序運行沒有錯誤。
知道了這一點,還有其他的東西,一個 conf 選項可以幫助我不必運行昂貴的實例嗎?
謝謝大家。
這是通過 conda 安裝的 pyspark 2.4.0 的當前問題。 您需要通過 conda 提示符或 Linux 終端降級到 pyspark 2.3.0:
conda install pyspark=2.3.0
您可能沒有正確的權限。
我在使用jupyter/pyspark-notebook
鏡像jupyter/pyspark-notebook
運行pyspark的示例代碼時也遇到了同樣的問題,通過在容器內使用root解決了。
使用該圖像的任何人都可以在此處找到一些提示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.