在EMR中使用来自Zeppelin的Spark读取CSV

时间:2017-08-16 14:57:41

标签: scala apache-spark emr apache-zeppelin

我在S3中有一个简单的CSV文件,我在EMR中使用Spark多次读取它。

现在我想使用Zeppelin,我可以做一些分析。

我的代码很简单

val path="s3://somewhere/some.csv"

val df=
  _spark
    .read
    .format("csv")
    .option("delimiter", "\t")
    .option("header", false)
    .option("mode", ParseModes.DROP_MALFORMED_MODE)
    .option("nullValue", "NULL")
    .option("charset", "UTF-8")
    .option("treatEmptyValuesAsNulls", "true")
    .option("inferSchema", "true")
    .load(path)

但是当我尝试收集数据框时

df.collect

我收到错误

  

java.io.InvalidClassException:   org.apache.commons.lang3.time.FastDateFormat;当地班级   不兼容:stream classdesc serialVersionUID = 1,本地类   serialVersionUID = 2

这是Zeppelin和Spark使用的不同版本commons-lang3。

参考: http://apache-zeppelin-users-incubating-mailing-list.75479.x6.nabble.com/InvalidClassException-using-Zeppelin-master-and-spark-2-1-on-a-standalone-spark-cluster-td4900.html

我使用了5.3.1到5.7.0的许多不同的EMR版本

我试图在spark中添加--jars

commons-lang3-3.4.jar 

但没有运气。

有没有人,有同样的错误?

0 个答案:

没有答案