2014-01-24 4 views
4

Я только начинаю с Spark, поэтому загрузил двоичные файлы for Hadoop 1 (HDP1, CDH3) с here и извлек его на виртуальную машину Ubuntu. Без установки Scala я смог выполнить примеры в руководстве Quick Start из интерактивной оболочки Spark.Зависимость/установка Scala для Spark

  1. Включены ли искры в Scala? Если да, то где библиотеки/бинарные файлы?
  2. Для запуска Spark в других режимах (распределенных), мне нужно установить Scala на всех узлах?

В качестве примечания я заметил, что Spark имеет одну из лучших документации по проектам с открытым исходным кодом.

ответ

2

Praveen -

проверено сейчас, как сжигатель жира.

/SPARK_HOME/assembly/target/scala-2.9.3/spark-assembly_2.9.3-0.8.0-incubating-hadoop1.0.4.jar

эту банку включен со всеми SCALA бинарных файлов + искровые бинарных файлов.

вы способны работать, потому что этот файл будет добавлен в CLASSPAH при запуске искровых оболочки

чека здесь: запуск искрового оболочки> Http: // Машина: 4040> окружающая среда> Classpath Запись

, если вы загрузили исходную искру, тогда вам не нужно иметь scala в узлах, достаточно этого файла в CLASSAPATH в узлах.

примечание: удалено последний ответ, который я опубликовал, потому что он может ввести в заблуждение. извините :)

4

Включен ли в комплект поставки Spark Scala? Если да, то где библиотеки/бинарные файлы?

Конфигурация проекта находится в папке project/. Я мой случай здесь:

$ ls project/ 
build.properties plugins.sbt project SparkBuild.scala target 

Когда вы sbt/sbt assembly, он загружает соответствующую версию Scala вместе с другими зависимостями проекта. Извлечь папку target/, например:

$ ls target/ 
scala-2.9.2 streams 

Обратите внимание, что Scala версия 2.9.2 для меня.

Для запуска Spark в других режимах (распределенных), мне нужно установить Scala на всех узлах?

Да. Вы можете создать единую сборку баночку, как описано в Spark documentation

Если ваш код зависит от других проектов, вы должны убедиться, что они также присутствуют на подчиненных узлах. Популярным подходом является создание сборщика jar (или "uber" jar), содержащего ваш код и его зависимости. Оба sbt и Maven имеют сборные плагины. При создании сборных банок выведите список Spark как предоставленную зависимость; его не нужно связывать, поскольку он уже присутствует на подчиненных. Когда у вас есть собранная банка, добавьте ее в SparkContext, как показано здесь.Кроме того, при создании SparkContext можно отправлять свои зависимые баночки один за другим.

0

Вам необходимо, чтобы Scala была доступна на всех узлах. Однако при двоичном распределении через make-distribution.sh больше не нужно устанавливать Scala на всех узлах. Имейте в виду различие между , устанавливающим Scala, который необходим для запуска REPL, и всего лишь упаковка Scala как еще один файл jar.

Кроме того, как указано в файле:

# The distribution contains fat (assembly) jars that include the Scala library, 
# so it is completely self contained. 
# It does not contain source or *.class files. 

Так Scala действительно приходят для поездки, когда вы используете make-distribution.sh.

0

От искры 1.1 года, нет SparkBuild.scala Вы ahve, чтобы внести изменения в pom.xml и построить с использованием Maven