一、Hive函数
1.函数概述
从函数输入与输出角度来看,函数可分为:
(1)标准函数
以一行数据中心的一列或多列数据作为输入参数,返回的结果是一个值的函数。
(2)聚合函数
以多行中的零个到多个列的数据作为输入,返回单一值的函数。
(3)表生成函数
接受零个或多个输入,产生多列或多行输出。
2.查看函数
show functions命令可以显示当前Hive会话中所加载的所有函数,包括内置函数与自定义函数。
#查看函数详情,在Hive命令行中运行命令
DESCRIBE FUNCTIONS <function_name>;
函数更多详细文档可以通过增加EXTENDED关键字查看。
3.调用函数
调用函数直接在HiveSQL中使用函数名调用,如需传入参数,直接传入相应参数即可调用。
函数调用可在SELECT与WHERE子句中实现,具体包含下面3种典型情况:
# table 表中选取 col1 和 col2 列的值,并将它们连接成一个字符串,作为结果集的一列
SELECT concat(col1,col2) AS x FROM table;
# 连接两个字符串常量 'abc' 和 'def',并返回连接后的结果
SELECT concat(‘abc’,‘def’);
# 从 table 表中选取所有列的数据,并筛选出 col 列的长度小于 10 的记录。
SELECT * FROM table WHERE length(col)<10;
二、内置函数
- 字符处理
- 类型转换
- 聚合运算
- 数学计算
- 日期计算
1.字符函数
返回值 | 函数签名 | 描述 |
string | concat(a, b,...) | 它返回从a后串联b产生的字符串 |
string | concat_ws(sep,a,b,...) | 与concat类似,但第一个参数为指定的连接符 |
string | concat |