Улей на свече на амазонке 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.

Другие вопросы по тегам