欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

Apache Zeppelin & Spark 解析Json异常

  我下载的Apache Zeppelin和Apache Spark版本分别为:0.6.0-incubating-SNAPSHOT和1.5.2,在Zeppelin中使用SQLContext读取Json文件创建DataFrame的过程中出现了以下的异常:

 

运行第一句代码就出现了异常。分析了一些,原来Apache Zeppelin 0.6.0-incubating-SNAPSHOT版本依赖的Jackson 相关文件版本为:2.5.x(参考里面的README.md文件),如下:

(Apache 2.0) Jackson (com.fasterxml.jackson.core:jackson-core:2.5.3 - https://github.com/FasterXML/jackson-core)
(Apache 2.0) Jackson (com.fasterxml.jackson.core:jackson-annotations:2.5.0 - https://github.com/FasterXML/jackson-core)
(Apache 2.0) Jackson (com.fasterxml.jackson.core:jackson-databind:2.5.3 - https://github.com/FasterXML/jackson-core)

而Apache Spark 1.5.2依赖的Jackson 相关文件版本为2.4.4(参考Sparkpom.xml文件):

<fasterxml.jackson.version>2.4.4</fasterxml.jackson.version>

jsonFile函数在解析的时候用到了上面相关的类,导致了冲突。Apache Zeppelin在启动的时候会加载${ZEPPELIN_HOME}/lib下面的类库,而里面就有jackson相关的jar文件:

-rw-r--r-- 1 iteblog iteblog   39815 Jan 20 16:35 jackson-annotations-2.5.0.jar
-rw-r--r-- 1 iteblog iteblog  229998 Jan 20 16:35 jackson-core-2.5.3.jar
-rw-r--r-- 1 iteblog iteblog 1143162 Jan 20 16:35 jackson-databind-2.5.3.jar

问题就处在这了,所以我们可以将上面三个jar文件全部替换成2.4.4版本的:

-rw-r--r-- 1 iteblog iteblog   38597 Nov 25  2014 jackson-annotations-2.4.4.jar
-rw-r--r-- 1 iteblog iteblog  225302 Nov 25  2014 jackson-core-2.4.4.jar
-rw-r--r-- 1 iteblog iteblog 1076926 Nov 25  2014 jackson-databind-2.4.4.jar

然后重启zeppelin,再运行上面的语句,问题不再出现了。本来我想在pom.xml文件里面直接修改jackson的版本,然后再重新编译,但是搜遍了里面的pom.xml文件也没找到上面三个jar。

本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Apache Zeppelin & Spark 解析Json异常】(https://www.iteblog.com/archives/1570.html)
喜欢 (11)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!
(2)个小伙伴在吐槽
  1. Could not initialize class org.apache.spark.rdd.RDDOperationScope

    这个问题也是这个原因造成的,。。。

    Xing Zhang2016-10-10 17:03 回复
    • 感谢补充

      w3970907702016-10-11 09:18 回复