【发布时间】:2018-12-13 10:48:36
【问题描述】:
我有一个 Wrapped Array,当我使用 LATERAL VIEW EXPLODE 进行查询时,我只想获取非 Null 值。我也试过 IS NOT NULL 但这不会返回任何东西。
示例结构:
列名:数组
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 |
__________
当使用 IS NOT NULL:
SELECT DISTINCT revs
FROM events
LATERAL VIEW EXPLODE(theARRAY.value.member2) theTab2 AS revs
revs IS NOT NULL
没有返回任何东西。
我需要:
|**revs**|
__________
|7298 |
__________
如何修复我的查询以获得上述结果?
【问题讨论】:
标签: apache-spark hive apache-spark-sql bigdata qubole