lateral view用于和split, explode等UDTF一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。
例子
表pageAds。它有两个列:pageid、adid_list:
pageId | adid_list |
---|---|
front_page | [1, 2, 3] |
contact_page | [3, 4, 5] |
SELECT pageid, adid
FROM pageAds LATERAL VIEW explode(adid_list) adTable AS adid;
将输出如下结果:
pageId | adid |
---|---|
front_page | 1 |
front_page | 2 |
front_page | 3 |
contact_page | 3 |
contact_page | 4 |
contact_page | 5 |