本文主要是介绍Hive explode lateral view 用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
类似于SqlServer的游标,把字段的内容转换成行显示。
lateral view UDTF(expression) tableAliasName as colAliasName
其中UDTF(expression)表示表生成函数说白了就是行转列的函数,即一行变为多行的函数,比如explode,当然也可以通过UDF自定义函数把一行转为多行,或者UDF返回Array,再通过explode炸成多行
tableAliasName表示表的别名,colAliasName表示表的列的别名
原理是:通过lateral view UDTF(expression)函数把一行转换为多行,会生成一个临时表,把这些数据放入这个临时表中,然后使用这个临时表和base表做inner join 使用的条件就是原始表的关系
建表语句:
create table sales_info_new(
sku_id string comment '商品id',
sku_name string comment '商品名称',
state_map map<string,string> comment '商品状态信息',
id_array array<string> comment '商品相关id列表'
)
partitioned by(
dt string comment '年-月-日'
)
row format delimitedfields terminated by '|'collection items terminated by ','map keys terminated
这篇关于Hive explode lateral view 用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!