Вставка Spark SQL в выбранную проблему

INSERT INTO hive_table SELECT b.id,a.id FROM hive_table_1 a,hive_table_2 b WHERE a.id BETWEEN b.id1 AND b.id2;

выполнить такой SQL на spark-sql получил ошибки:

ОШИБКА CliDriver: org.apache.spark.sql.AnalysisException: отсутствует ТАБЛИЦА в «hive_table» рядом с «‹EOF›»; строка 1 позиция 12
в org.apache.spark.sql.hive.HiveQl $ .createPlan (HiveQl.scala: 289)
в org.apache.spark.sql.hive.ExtendedHiveQlParser $$ anonfun $ hiveQl $ 1 .apply (ExtendedHiveQlParser.scala: 41)
в org.apache.spark.sql.hive.ExtendedHiveQlParser $$ anonfun $ hiveQl $ 1.apply (ExtendedHiveQlParser.scala: 40)

Но работайте нормально в hive-cli или beeline. Какие-либо предложения?


person cwalet    schedule 09.07.2015    source источник
comment
Может вы подключаетесь к другому инстансу?   -  person Gábor Bakos    schedule 09.07.2015
comment
нет, если бы это было так, это было бы еще одно сообщение об ошибке. Фактически, я ничего не получил об исключении в Google.   -  person cwalet    schedule 09.07.2015


Ответы (1)


Похоже, в вашем запросе есть опечатка - вы пишете, id вместо a.id, чтобы получить доступ к идентификатору поля таблицы a.

Этот код должен работать правильно:

INSERT INTO hive_table SELECT b.id,a.id
FROM hive_table_1 a,hive_table_2 b 
WHERE a.id BETWEEN b.id1 AND b.id2;

Я обнаружил вашу ошибку: искра не выбирает hive-site.xml с нуля, вы должны использовать обходной путь. Возможные обходные пути можно найти там < / а>

person Coder55    schedule 09.07.2015
comment
Вы очень внимательно, это была моя письменная ошибка, а не настоящая проблема, но и спасибо. - person cwalet; 09.07.2015