1

私は CDH5.1.0 を使用して簡単な Spark プログラミングを行っています。また、Eclipse Juno (VM に付属) があり、Scala IDE プラグイン 2.10.0 がインストールされています。IDE で次のエラーが発生します。

シンボリック参照が正しくありません。SparkContext.class の署名は、利用できないパッケージ org.apache.hadoop の用語 io を参照しています。現在のクラスパスから完全に欠落しているか、クラスパスのバージョンが SparkContext.class のコンパイル時に使用されたバージョンと互換性がない可能性があります。SimpleApp.scala /MyScalaProject/src/com/test/spark1 行 10 Scala の問題

コード:

package com.test.spark1
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
object SimpleApp {
  def main(args: Array[String]) {
    val logFile = "/home/Desktop/scala/sparktest.txt" // Should be some file on your system
    val conf = new org.apache.spark.SparkConf().setAppName("Simple Application")
    val sc = new SparkContext(conf)
    val logData = sc.textFile(logFile, 2).cache()
    val numAs = logData.filter(line => line.contains("a")).count()
    val numBs = logData.filter(line => line.contains("b")).count()
    println("Lines with a: %s, Lines with b: %s").format(numAs, numBs)
  }
}

行番号 10 (var conf - new org.apache.spark.SparkCon...) と行番号 15 (println...) でも同じエラーが発生します。

私のプロジェクト ビルド パスには/usr/lib/spark/assembly/lib/spark-assembly-1.0.0-cdh5.1.0-hadoop2.3.0-cdh5.1.0.jar、この単純な scala プログラムに必要なすべてのクラスがあることを確認しました。

4

1 に答える 1

2

ビルド パスに次の jar を追加すると、コンパイル エラーはなくなりました。

hadoop-common-2.3.0-cdh5.1.0.jar

そのため、このエラーの原因となっている欠落している内部依存関係がいくつかありました。

于 2014-08-19T06:30:14.160 に答える