CDH 6.2 Hive не может выполнять запросы ни на Spark, ни на MapReduce - PullRequest
3 голосов
/ 29 апреля 2019

Я пытаюсь выполнить простой запрос select count(*) from table в Hive, но он завершается неудачей со следующей ошибкой:

FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client for Spark session 5414a8a4-5252-4ccf-b63e-2ee563f7d772_0: java.lang.ClassNotFoundException: org.apache.spark.SparkConf

Это происходит с тех пор, как я перешел на CDH 6.2 и включил Spark (версия 2.4.0-cdh6.2.0) в качестве механизма исполнения Hive (версия 2.1.1-cdh6.2.0).

Я предполагаю, что Hive неправильно настроен для запуска Spark. Я попытался установить для свойства spark.home hive-site.xml значение /opt/cloudera/parcels/CDH/lib/spark/ и установить для переменной среды SPARK_HOME то же значение, но это не имело значения.

Об аналогичной проблеме сообщалось здесь , но решение (т. Е. Поместить файл spark-assembly.jar в каталог lib Hive) не может быть применено (так как файл больше не встроен в последнюю версию Spark). версии).

Предыдущий вопрос касался аналогичной, но другой проблемы, связанной с ограничением памяти на YARN.

Кроме того, переключение на MapReduce из-за сбоя механизма выполнения, но с другой ошибкой:

FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. org/apache/hadoop/hdfs/protocol/SystemErasureCodingPolicies

Поиск последней ошибки в Google не дает никакого результата.


ОБНОВЛЕНИЕ: я обнаружил, что запросы работают при подключении к Hive с помощью других инструментов (например, Beeline, Hue, Spark) и независимо от базового механизма выполнения (например, MapReduce или Spark). Таким образом, ошибка может находиться в интерфейсе командной строки Hive, который в настоящее время устарел.


ОБНОВЛЕНИЕ 2: та же самая проблема фактически произошла на Beeline и Hue с запросом CREATE TABLE; Я смог выполнить это только с помощью интерпретатора Hive Zeppelin

...