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