Получить не нулевые значения в обернутом массиве - PullRequest
0 голосов
/ 05 июля 2018

У меня есть Wrapped Array, и я хочу получить значения не нулевые, когда я запрашиваю с LATERAL VIEW EXPLODE . Я также пытался НЕ НУЛЬ , но это ничего не возвращает.

ОБРАЗЕЦ СТРУКТУРЫ:

КОЛОННА: theARRAY

WrappedArray([null,theVal,tags,[null,null,7298,null,null,null],false])

схема

array<struct<id:string,name:string,type:string,value:struct<member0:string,member1:bigint,member2:int,member3:double,member4:float,member5:boolean>,shouldIndex:boolean>>

Мой запрос:

SELECT DISTINCT revs
FROM events 
LATERAL VIEW EXPLODE(theARRAY.value.member2) theTab2 AS revs 

Мой результат:

__________
|**revs**|
__________
|7298    |
__________
| null   |
__________

Когда используется НЕ НУЛЬ :

SELECT DISTINCT revs
FROM events 
LATERAL VIEW EXPLODE(theARRAY.value.member2) theTab2 AS revs 
revs IS NOT NULL 

ничего не возвращается.

Мне нужно:

|**revs**|
__________
|7298    |
__________

Как исправить мой запрос, чтобы получить результат, как указано выше?

1 Ответ

0 голосов
/ 05 июля 2018

Вы можете уточнить запрос как:

SELECT revs FROM
( SELECT DISTINCT revs 'revs' 
FROM events 
LATERAL VIEW EXPLODE(theARRAY.value.member2) theTab2 AS revs 
) WHERE revs IS NOT NULL
...