2015-07-09 3 views
4
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 на искрового SQL получил ошибку:Спарк SQL вставить в выберите вопрос

ERROR CliDriver: org.apache.spark.sql.AnalysisException: missing TABLE at 'hive_table' near '<EOF>'; line 1 pos 12
at org.apache.spark.sql.hive.HiveQl$.createPlan(HiveQl.scala:289)
at org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:41)
at org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:40)

Но работать нормально в улье-кли или Билайне. Любые предложения?

+0

Возможно, вы подключаетесь к другому экземпляру? –

+0

Нет, если это было бы другим сообщением об ошибке. На самом деле, я ничего не получил об исключении в google. – cwalet

ответ

0

В вашем запросе есть опечатка - вы пишете идентификатор, а не 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; 

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

+0

u очень осторожно, это была моя письменная ошибка, а не настоящая проблема, но и так. – cwalet

Смежные вопросы