1、explode
explode(ARRAY) 列表中的每个元素生成一行
explode(MAP) map中每个key-value对,生成一行,key为一列,value为一列
限制:
1、No other expressions are allowed in SELECT
SELECT pageid, explode(adid_list) AS myCol… is not supported
2、UDTF’s can’t be nested
SELECT explode(explode(adid_list)) AS myCol… is not supported
3、GROUP BY / CLUSTER BY / DISTRIBUTE BY / SORT BY is not supported
SELECT explode(adid_list) AS myCol … GROUP BY myCol is not supported
2、lateral view
可使用lateral view解除以上限制,语法:
lateralView: LATERAL VIEW explode(expression) tableAlias AS columnAlias (‘,’ columnAlias)*
fromClause: FROM baseTable (lateralView)*
案例:
table名称为pageAds