SubQuery работает в IMPALA, но не в HIVE - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь понять, почему следующий подзапрос будет работать в Impala, а не в Hive.

    select * from MySchema.MyTable where identifier not in 
     (select identifier from schema.table where status_code in (1,2,3));

РЕДАКТИРОВАТЬ:

Добавлена ​​ошибка

Ошибка при компиляции оператора: FAILED: SemanticException [Ошибка 10249]: строка 1:55 Неподдерживаемое выражение SubQuery 'идентификатор': коррелирующее выражение не может содержать неквалифицированные ссылки на столбцы.

1 Ответ

0 голосов
/ 01 марта 2019

Возможно, проблема связана с «идентификатором» в обоих запросах, в основном запросе и внутреннем подзапросе.Явное упоминание того, какой «идентификатор», на который вы ссылаетесь, например «mytable.identifier», должно решить эту проблему.

Это, вероятно, проблема с Hive, которая была исправлена ​​в последних версиях, и проблема не воспроизводится в hive 3.1.0.

Если проблема не устранена, сообщите нам версию улья, которую вы используете, и операторы DDL, использованные для создания таблиц.

...