hive lateral view 与 explode 区别

1,explode就是将hive一行中复杂的array或者map结构拆分成多行。

select explode(split(‘a,b,c,d,e’,’,’));

输出

《hive lateral view 与 explode 区别》

2,Lateral View一般与用户自定义表生成函数(如explode())结合使用。 如内置表生成函数中所述,UDTF为每个输入行生成零个或多个输出行。 Lateral View 首先将UDTF应用于基表的每一行,然后将结果输出行连接到输入行,以形成具有提供的表别名的虚拟表。

with test as (

select ‘test’ a,split(‘a,b,c,d,e’,’,’) b

)

select a,adid from test  LATERAL VIEW explode(b) adTable AS adid

《hive lateral view 与 explode 区别》

    原文作者:scottzcw
    原文地址: https://www.jianshu.com/p/506dfe23269e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞