2016-08-17 2 views
1

Я работаю над искровым 1.3.0. Мой build.sbt выглядит следующим образом:Исключая зависимость от искры от библиотеки искры в 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 используется во время компиляции. Но моя среда выполнения содержит hasoop 2.6.0. Может ли кто-нибудь помочь, как я могу исключить зависимость suoop от библиотеки искры и упомянуть hasoop 2.6.0 в sbt-файле?

Благодаря

ответ

1

Я не думаю, что пакеты свечи приносят в Hadoop зависимости. Ваша сборка не будет содержать клиентские библиотеки Hadoop. Вам нужно будет запустить приложение с помощью spark-submit из установки Spark. Когда вы download Spark убедитесь, что вы загрузили сборку Spark, которая поддерживает Hadoop 2.6.

Spark 1.3.0 (2015-03-15) не имеет сборки Hadoop 2.6. Самая ранняя версия Spark для создания сборки Hadoop 2.6 - это Spark 1.3.1 (2015-04-17).

Это и древние версии Spark с множеством известных ошибок, которые были исправлены с тех пор. Если вам не нравятся ошибки, я предлагаю использовать Spark 1.6.2 или 2.0.0.