0

我在Amazon EMR上使用Zeppelin-Sandbox 0.5.6Spark 1.6.1。 我正在閱讀csv位於s3的文件。 問題是,有時我收到錯誤讀取文件。我需要多次重啓解釋器,直到它工作。我的代碼中沒有任何更改。我無法恢復它,並且無法分辨它何時發生。apache zeppelin在使用pyspark閱讀csv時失敗

我的代碼去如下:

的依賴項:

%dep 
z.reset() 
z.addRepo("Spark Packages Repo").url("http://dl.bintray.com/spark-packages/maven") 
z.load("com.databricks:spark-csv_2.10:1.4.0") 

使用spark-csv

%pyspark 
import pyspark.sql.functions as func 

df = sqlc.read.format("com.databricks.spark.csv").option("header", "true").load("s3://some_location/some_csv.csv") 

錯誤信息:

Py4JJavaError: An error occurred while calling o61.load. : 
org.apache.spark.SparkException: Job aborted due to stage failure: 
Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 
in stage 0.0 (TID 3, ip-172-22-2-187.ec2.internal): 
java.io.InvalidClassException: com.databricks.spark.csv.CsvRelation; 
local class incompatible: stream classdesc serialVersionUID = 
2004612352657595167, local class serialVersionUID = 
6879416841002809418 

... 

Caused by: java.io.InvalidClassException: 
com.databricks.spark.csv.CsvRelation; local class incompatible 

一旦我將csv讀入dataframe,其餘代碼工作正常。

有什麼建議嗎?

謝謝!

回答

0

您需要執行火花加入火花CSV包像這樣

$ pyspark --packages com.databricks:spark-csv_2.10:1.2.0 

現在火花CSV將在classpath