Ske*_*cal 11 csv apache-spark apache-zeppelin
我目前正在使用Apache Zeppelin 0.8.我试着像这样加载一个csv文件:
val df = spark.read.option("header", "true").option("inferSchema", "true").csv("/path/to/csv/name.csv")
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
val df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/path/to/csv/name.csv")
Run Code Online (Sandbox Code Playgroud)
但是,它无法打印出以下内容:
org.apache.spark.SparkException:作业因阶段失败而中止:阶段2.0中的任务0失败1次,最近失败:阶段2.0中丢失的任务0.0(TID 2,localhost,执行器驱动程序):java.lang.NoSuchMethodError: org.apache.hadoop.fs.FileSystem $ Statistics.getThreadStatistics()Lorg /阿帕奇/的Hadoop/FS /文件系统$ $统计统计局数据;
注意: 问题解决 如果我使用zeppelin-env.sh中的SPARK_HOME env变量为Spark指定我自己的构建.但是,我仍然想要一个解决方案,这不需要我这样做,因为我有一些其他库不能与该版本的Spark一起使用.
看起来 Spark 运行时 Spark 中的有效类路径有一个冲突的 hadoop-fs 库版本。可能是你的fat jar带了不兼容的版本造成的。
如果在环境选项卡中打开 Spark UI,您可以看到类路径上的所有 jar 文件。在那里您可以尝试找出哪个库造成了问题。
如果您正在构建一个 fat jar,请尝试查看它的内容以查看它是否还包含 Hadoop 类
jar -tf /path/to/your/jar | grep "org.apache.hadoop.fs.FileSystem"
Run Code Online (Sandbox Code Playgroud)
如果是这样,您应该按照提供的方式在 mvn/sbt 中标记您的 Hadoop 依赖项。
| 归档时间: |
|
| 查看次数: |
1737 次 |
| 最近记录: |