apache zeppelin使用pyspark读取csv失败

时间:2016-06-21 08:56:47

标签: pyspark spark-dataframe amazon-emr apache-zeppelin spark-csv

我在Zeppelin-Sandbox 0.5.6上使用Spark 1.6.1Amazon EMR。 我正在阅读位于csv的{​​{1}}文件。 问题是有时我在读取文件时遇到错误。我需要多次重启解释器,直到它工作。我的代码中没有任何变化。我无法恢复它,也无法判断它何时发生。

我的代码如下:

定义依赖关系:

s3

使用%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,其余代码就可以正常工作。

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你需要执行spark,将spark-csv包添加到它中

{{1}}

现在spark-csv将出现在你的类路径中