0

Ich verwende Zeppelin-Sandbox 0.5.6 mit Spark 1.6.1 auf Amazon EMR. Ich lese csv Datei befindet sich auf s3. Das Problem ist, dass manchmal Ich bekomme Fehler beim Lesen der Datei. Ich muss den Interpreter mehrere Male neu starten, bis es funktioniert. Nichts in meinem Code ändert sich. Ich kann es nicht wiederherstellen und kann nicht sagen, wann es passiert.Apache Zeppelin schlägt beim Lesen csv mit pyspark

Mein Code geht wie folgt vor:

definieren Abhängigkeiten:

%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") 

mit 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") 

Fehler msg:

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 

Sobald ich bin Lesen Sie die csv in die dataframe, der Rest des Codes funktioniert gut.

Irgendwelche Ratschläge?

Danke!

Antwort

0

Sie müssen Funken auszuführen Hinzufügen der Funken csv-Paket, um es wie dieses

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

Nun ist die Funken csv in Ihrem Classpath sein