2016-08-17 13 views
1

私はspark 1.3.0で作業しています。私のbuild.sbtは次のようになります:スパークライブラリからhadoop依存関係をsbtファイルに除外

libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.3.0" % "provided", 
    "org.apache.spark" %% "spark-sql" % "1.3.0" % "provided", 
    "org.apache.spark" %% "spark-streaming" % "1.3.0" % "provided", 
    "org.apache.spark" %% "spark-mllib" % "1.3.0" % "provided", 
    "org.springframework.security" % "spring-security-web" % "3.0.7.RELEASE", 
    "com.databricks" % "spark-csv_2.10" % "1.4.0" 
) 

// META-INF discarding 
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) => 
    { 
    case PathList("META-INF", xs @ _*) => MergeStrategy.discard 
    case x => MergeStrategy.first 
    } 
} 

このsbtファイルでは、コンパイル時にhadoop 2.2.0が使用されています。しかし、私の実行環境には、hadoop 2.6.0が含まれています。誰もがどのように私はスパークライブラリからhadoopの依存関係を除外し、sbtファイルでhadoop 2.6.0を言及することができますか?

ありがとうございます。

答えて

1

私はSparkパッケージがHadoopの依存関係をもたらすとは思わないのです。ビルドにはHadoopクライアントライブラリは含まれません。 Sparkのインストールで​​でアプリケーションを実行する必要があります。 download SparkあなたがHadoop 2.6をサポートするSparkビルドをダウンロードしていることを確認してください。

Spark 1.3.0(2015-03-15)には、Hadoop 2.6ビルドがありません。 Hadoop 2.6ビルドを提供する最も初期のSparkバージョンは、Spark 1.3.1(2015-04-17)です。

これは古くから知られているバグで、これまでに修正されています。あなたがバグが好きでなければ、私はスパーク1.6.2または2.0.0を使用することをお勧めします。

関連する問題