Подзапрос NOT IN с повторной настройкой hiveql NullPointerException null - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь выполнить запрос в кусте, включающий в себя 2 массива в одной таблице и эффективно учитывающий разницу, используя оператор NOT IN

select c1 from t1 
lateral view inline(m1) m1
where m1.key = 'x'
AND t1.c1 NOT IN
(
select c1 from t1
lateral view inline(m2) m2
where m2.key = 'y'
);

Приведенный выше запрос возвращает

FAILED: NullPointerException null

1 Ответ

1 голос
/ 20 июня 2019

Сначала отфильтруйте все c1, имеющие значение 'y'

With temp as
(select distinct c1 from t1
lateral view inline(m2) m2
where m2.key = 'y') 

select c1 from t1 
lateral view inline(m1) m1
where m1.key = 'x')
and c1 not in (select c1 from temp)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...