我当前正在使用Apache Zeppelin 0.8。我尝试加载这样的csv文件:
val df = spark.read.option("header", "true").option("inferSchema", "true").csv("/path/to/csv/name.csv")
我也尝试过这个:
val df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/path/to/csv/name.csv")
但是,它无法打印出以下内容:
org.apache.spark.SparkException:由于阶段失败而导致作业中止:阶段2中的任务0失败1次,最近一次失败:阶段2.0中的任务0.0丢失(TID 2,本地主机,执行程序驱动程序):java.lang .NoSuchMethodError:org.apache.hadoop.fs.FileSystem $ Statistics.getThreadStatistics()Lorg / apache / hadoop / fs / FileSystem $ Statistics $ StatisticsData;
注意: 问题已已解决 IF ,我在 zeppelin-env.sh 中使用SPARK_HOME env变量指定了自己的Spark构建。但是,我仍然想要一个不需要我这样做的解决方案,因为我还有其他一些库无法使用该版本的Spark。
答案 0 :(得分:0)
看起来像spark运行时中的有效类路径spark的hadoop-fs库版本冲突。这可能是因为您的胖子罐带来了不兼容的版本。
如果在 Environment 选项卡中打开Spark UI,则可以在类路径中看到所有jar文件。在那里您可以尝试找出哪个库引起了问题。
如果您要构建一个胖子罐,请尝试查看它的内容以查看它是否还包含Hadoop类
jar -tf /path/to/your/jar | grep "org.apache.hadoop.fs.FileSystem"
如果这样做,则应按提供的标记在mvn / sbt中标记您的Hadoop依赖项。