Улей на свече на амазонке EMR
Я попробовал следующую команду в улье:
set hive.execution.engine=spark;
но получаю ошибку, когда я запускаю любой запрос после установки механизма исполнения на Amazon EMR:
Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Iterable
at org.apache.hadoop.hive.ql.parse.spark.GenSparkProcContext.<init>(GenSparkProcContext.java:163)
at org.apache.hadoop.hive.ql.parse.spark.SparkCompiler.generateTaskTree(SparkCompiler.java:328)
at ---------------
Caused by: java.lang.ClassNotFoundException: scala.collection.Iterable
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at ---------------
Я пытался скопировать jar-файл из файла spark в путь к улью и файлы conf для спекуляции в файл hive conf, все еще получая сообщение об ошибке, какое-либо исправление?
2 ответа
Банки, связанные с искрой, должны быть добавлены в скрипт улья для запуска запроса улья в механизме исполнения искры.
Пожалуйста, добавьте следующие строки в скрипт /usr/lib/hive/bin/hive
for f in ${SPARK_HOME}/jars/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
после этой строки
HIVE_LIB=${HIVE_HOME}/lib
Надеюсь это поможет.
Спасибо рави
Я попытался скопировать банку из искры в путь улья и спровоцировать файлы конфессий в конф ул
Вам не нужно выполнять какую-либо ручную настройку. Вы устанавливали какие-либо компоненты вручную? Я только что создал кластер EMR с Hive, Spark и Hadoop, и команда работала из коробки.
При создании кластера необходимо нажать "Перейти к дополнительным параметрам" и проверить компоненты вручную. Стек Spark в "Быстрых настройках" не включает Hive.