【问题标题】:Exception when trying to write a file to HDFS from Zeppelin尝试从 Zeppelin 将文件写入 HDFS 时出现异常
【发布时间】:2016-02-05 14:07:24
【问题描述】:

在 Zeppelin 中尝试从 Spark 写入 HDFS 时,我收到 ClassNotFoundException for org.apache.hadoop.mapred.DirectFileOutputCommitter

java.lang.RuntimeException: java.lang.RuntimeException:    java.lang.ClassNotFoundException: Class org.apache.hadoop.mapred.DirectFileOutputCommitter not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2106)
at org.apache.hadoop.mapred.JobConf.getOutputCommitter(JobConf.java:725)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopFile$4.apply$mcV$sp(PairRDDFunctions.scala:983)

正在尝试运行的代码:

val model = LinearRegressionWithSGD.train(someRDD, numIterations)
val modelPath = "hdfs:///some_path/LinearRegressionWithSGD"
model.save(sc, modelPath)

在搜索这个类时,我什至找不到它。我能找到的最接近的是org.apache.hadoop.mapred.FileOutputCommitter in Hadoop

我正在使用 Zeppelin 的提交 18c8c9ea512a0d87699a73e2ca26192d03748661(10 月 9 日)、YARN 上的 Spark 1.5.0 和 Hadoop 2.6。

【问题讨论】:

    标签: apache-spark apache-zeppelin apache-spark-mllib


    【解决方案1】:

    我遇到了同样的问题。在“hadoop-mapreduce-client-core.X.X.X.jar”中查找该文件,但在 jar 中找不到该文件。

    我通过将org.apache.hadoop.mapred.DirectFileOutputCommitter 添加到我的存储库来解决了这个问题。该文件的来源可在此处找到:https://gist.github.com/apivovarov

    尚不确定此问题的根本原因是什么。深入研究它。有答案后会在这里更新。

    【讨论】:

      猜你喜欢
      • 2011-02-02
      • 1970-01-01
      • 2017-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 2019-09-27
      相关资源
      最近更新 更多