Hive查询语句与函数使用全解析
1. 数据概况与表生成函数
有超过40年价值的12110个交易日的数据。表生成函数是聚合函数的“逆”操作,它能将单列扩展为多列或多行。下面通过一个示例来解释,以下查询将每个员工记录中的下属数组转换为零个或多个新记录。如果员工记录的下属数组为空,则不生成新记录;否则,为每个下属生成一条新记录:
hive> SELECT explode(subordinates) AS sub FROM employees;
Mary Smith
Todd Jones
Bill King
使用表生成函数时,Hive要求使用列别名,如上述示例中的 AS sub 。表6 - 4列出了Hive中可用的内置表生成函数:
| 返回类型 | 函数签名 | 描述 |
| — | — | — |
| N行 | explode(array) | 从输入数组中的每个元素返回0到多行,每行一个元素。 |
| N行 | explode(map) (v0.8.0及更高版本) | 为每个映射键值对返回0到多行,每行包含一个映射键字段和一个映射值字段。 |
| 元组 | json_tuple(jsonStr, p1, p2, …, pn) | 类似于get_json_object,但它接受多个名称并返回一个元组。所有输入参数和输出列类型均为STRING。 |
| 元组 | parse_url_tuple(url, partname1, partname2, …, partnameN) (N >= 1) | 从URL中提取N
超级会员免费看
订阅专栏 解锁全文
1092

被折叠的 条评论
为什么被折叠?



