10、Hive查询语句与函数使用全解析

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值