美文网首页
hive lateral view 与 explode 区别

hive lateral view 与 explode 区别

作者: scottzcw | 来源:发表于2018-08-23 10:44 被阅读84次

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

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

输出

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 区别

      本文链接:https://www.haomeiwen.com/subject/xmjpiftx.html