2015-11-16 2 views
2

Я пытаюсь использовать искру в моей, локальной машине, и я был в состоянии воспроизвести учебник по адресу:SparkR на Windows - Спарк SQL не имеет встроенной поддержки улей

http://blog.sparkiq-labs.com/2015/07/26/installing-and-starting-sparkr-locally-on-windows-os-and-rstudio/

Однако, когда я пытаюсь использовать улей я получаю следующее сообщение об ошибке:

Error in value[3L] : Spark SQL is not built with Hive support

код:

## Set Environment variables 
Sys.setenv(SPARK_HOME = 'F:/Spark_build') 
# Set the library Path 
.libPaths(c(file.path(Sys.getenv('SPARK_HOME'), 'R','lib'),.libPaths())) 

# load SparkR 
library(SparkR) 

sc <- sparkR.init() 
sqlContext <- sparkRHive.init(sc) 

sparkR.stop() 

Во-первых, я подозревал, что это была заранее построена версия Спарк, я пытался построить свой собственный, используя Maven, который занял почти час:

mvn -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0 -Phive -Phive-thriftserver -DskipTests clean package. 

Однако ошибка сохраняется.

ответ

1

Если вы только что выполнили инструкции учебника, вы просто не установили Hive (попробуйте hive из командной строки) ... Я обнаружил, что это общая точка путаницы для начинающих Spark: «предварительно построенная для Hadoop "не означает, что это нуждается в Hadoop, не говоря уже о том, что он включает Hadoop (это не так), и то же самое относится к Hive.

+0

Вы правы ... Я сдался, пытаясь сделать эту работу на Windows. Мне потребовалось несколько часов, но он работает на моем Linux VM –

+0

Лучший выбор, который вы могли бы сделать :-) – desertnaut

0

У нас была такая же проблема, но мы не могли просто перейти к linux. Через некоторое время мы нашли эту страницу spark on windows и мы пришли к следующему решению:

  • Создайте файл с именем улья site.xml и писать в нем:

    <configuration> <property> <name>hive.exec.scratchdir</name> <value>C:\tmp\hive</value> <description>Scratch space for Hive jobs</description> </property> </configuration>

  • Установите среду переменной HADOOP_CONF_DIR в каталог hive-site.xml.
  • Установите переменную HADOOP_HOME среды, как указано в hadoop winutils
  • Run winutils.exe chmod -R 777 C:\tmp\hive

Это решило проблему на нашем окна машины, на которой мы теперь можем запустить SparkR с улья поддержки.