我有一个Wrapped Array,当我用 LATERAL VIEW EXPLODE 查询时,只想获得相应的值结构。
样本结构:
列名:theARRAY
WrappedArray([null,theVal,valTags,[123,null,null,null,null,null],false], [null,theVar,varTags,[abc,null,null,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 theName, allValues
FROM table
LATERAL VIEW EXPLODE(column.name) theTab1 AS theName
LATERAL VIEW EXPLODE(column.value.member0) theTab2 AS allValues
WHERE theName = 'theVal'
我的结果:
___________________________
|**theName**|**allValues**|
___________________________
|theVal | 123 |
___________________________
| theVal | abc |
___________________________
我需要:
___________________________
|**theName**|**allValues**|
___________________________
|theVal | 123 |
___________________________
如何解决我的查询以获得上述结果?
答案 0 :(得分:0)
不需要在结构顶部附加爆炸。您应该能够像这样
event.target