hive内置函数

--查询hive的内置函数列表

show functions;

--查询具体函数的使用描述

desc function extended 函数名

desc function extended current_database;

一.字符串函数

1.字符串的拆分 :split();

select split('hello,java;hi,bigdata','[,;]');

[ ]内可以写多个分隔符

----获取字符串拆分后的元素

--通过数组下标获取元素

select split('hello,java;hi,bigdata','[,;]') [0];

2.字符串的拼接:concat()

select concat('abc','def');

--根据指定的分隔符拼接字符串: concat_ws()

concat_ws(sep,str2,str3)

select concat_ws('.','www','baidu','com');

3.字符串的截取 : substr()

//字符串的起始索引位置为1,从索引位置为5的字符开始截取 到字符串的结尾

select substr('facebook',5); ---book

如果截取的起始索引位置为负数,表示从字符串的末尾位置开始 向前找到索引位置

select substr('facebook',-5);

从索引位置为5的字符开始截取,j截取长度为2

select substr('facebook',5,2); --bo

substring()与substr()函数一致

4.查询指定字符串出现的位置:instr()

**--instr(str,substr):**在字符串str中查找substr首次出现的索引位置,如果不存在则返回0

select instr('facebook','b');

5.获取字符串的长度:length()

select length ('facebook');

6.将字符串的字母转换大写 upper

select upper('min')

7.将大写字母转换成小写 lower()

select lower('MAX')

8.去除字符串前后的空格:trim()

select trim(' strin g ');

--ltrim():去除字符串左侧的空格

--rtrim():去除字符串右侧的空格

9.对字符串进行替换:regexp_replace()

--string regexp_replace(str,正则表达式,replaceStr):将字符串中符合正则表达式的字符串替换

select regexp_replace('foobar','oo|ar',''); --fb

10.对于json字符串进行元素提取:get_json_object()

二.类型转换函数:cast()

--newtype cast(attr as newtype): 将字符串attr转换成newtype类型

--将字符串1转换成double类型

newtype cast('1' as double)

三.数值函数

1.对浮点数进行四舍五入:round()

根据浮点数中的小数第一位进行四舍五入,返回一个整数

select round(12.3456); ---12

select round(12.789); ---13

--返回浮点数的指定小数位置,进行四舍五入后的值

select round(12.3456,1);

2.对浮点数进行向下取整:floor()

select floor(1.1); --1

select floor(1.9); --1

select floor(-1,9); -- -2

3.对浮点数进行向上取整:ceil()

select cail(1.1); --2

select ceil(-1.9) -- -1

4.获取数值的绝对值:abs()

select abs(-1.1); -- 1.1

5.获取一个随机数 :rand()

--获取一个0-1之间的随机数

select rand();

--输入一个种子数如果种子数固定则获取的浮点随机数也是固定的

select rand(种子数);

四.聚合函数

sum()

count()

max()

min()

avg()

相关推荐
武子康8 小时前
大数据-257 离线数仓 - 数据质量监控 监控方法 Griffin架构
java·大数据·数据仓库·hive·hadoop·后端
莹雨潇潇9 小时前
Hadoop完全分布式环境部署
大数据·hadoop·分布式
学计算机的睿智大学生14 小时前
Hadoop集群搭建
大数据·hadoop·分布式
ProtonBase16 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
清平乐的技术专栏1 天前
Hive SQL 查询所有函数
hive·hadoop·sql
节点。csn1 天前
Hadoop yarn安装
大数据·hadoop·分布式
不惑_1 天前
小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6
服务器·hadoop·腾讯云
csding111 天前
写入hive metastore报问题Permission denied: user=hadoop,inode=“/user/hive”
数据仓库·hive·hadoop