Hive常用内置函数合集

Hive常用内置函数

常用函数列表
函数 用法
round(double a) 近似函数,返回double类型的整数值部分(遵循四舍五入)
round(double a,int b) 指定进度近似函数,返回长整型最近的double值
floor(double a) 向下取整,返回最大的长整型等于或小于double值
ceil(double a) 向上取整,返回最小bigint值等于或大于double
ceiling(double a) 向上取整,返回不小于a的最小整数
rand(),rand(int seed) 返回一个随机数,从行改变到行
size(map<K,V>) 返回在映射类型的元素的数量
size(array) 返回数组流泪记性元素的数量
cast(expr as type) 返回表达式expr转换为type的结果,如果转换不成功就会返回null
日期函数列表
函数 用法
from_unixtime(bigint unixtime[,string format]) unix时间戳转日期函数,转换的秒数是从1970-01-01 00:00:00 UTC代表的那一刻开始,在当前系统时区的时间戳字符串格式:'1970-01-01 00:00:00',例如,select from_unixtime(15900000000,'yyyy-MM-dd')
unix_timestamp() 获取当前时区的unix时间戳
unix_timestamp(string date) 日期转换unix时间戳函数,转换格式为'yyyy-MM-dd HH:mm:ss'的日期到unix时间戳,若转换失败,则返回null
unix_timestamp(string date,string pattern):转换pattern格式的日期到unix时间戳,例如:select unix_timestamp('20200520 02:40:00','yyyyMMdd HH:mm:ss')
to_date(string timestamp) 日期时间转日期函数,返回一个字符串时间戳的日期部分
year(string date) 日期转年函数,返回日期或时间戳字符串的年份部分
month(string date) 日期转月函数,返回日期或时间戳字符串的月份部分
day(string date) 日期转天函数,返回日期或时间戳字符串的天
hour(string date) 日期转小时函数,返回日期中的小时,int类型
minute(string date) 日期转分钟函数,返回日期中的分钟,int类型
second(string date) 返回日期中的秒,int类型
weekofyear(string date) 日期转周函数,返回日期在该年的周数,int类型
date_diff(string enddate,string startdate) 日期比较函数,返回结束日期减去开始日期的天数,int类型
date_add(string startdate,int days) 返回开始日期startdate增加days天后的日期
date_sub(string startdate,int days) 返回开始日期减少days天后的日期
字符串函数列表
函数 用法
length(string a) 返回字符串啊的长度
reverse(string a) 返回字符串a反转后的结果
concat(string a,string b,...) 返回a串联b产生的字符串,支持任意多个字符串
concat_ws(string sep,string a,string b,...) 返回a,b在sep连接之后的字符串,sep为各个字符串间的分隔符
substr(string a,int start) 字符串截取函数,返回从a的开始位置到结尾的子字符串
substr(string a,int start,int length) 字符串截取函数,返回a字符串从strart位置开始长度为length的子字符串
upper(string a) 返回a字符串中的所有字符的大写字符串
ucase(string a) 返回a字符串中的所有字符的大写字符串
lower(string a) 返回a字符串中所有字符的小写字符串
lcase(string a) 返回a字符串中所有字符的小写字符串
trim(string a) 返回去掉a字符串中所有的空格的字符串
ltrim(string a) 返回去掉字符串a左侧的所有空格的字符串
rtrim(string a) 返回去掉字符串右侧的所有空格的字符串
regexp_replace(string a,string b,string c) 返回c替换字符串a中所有b子字符串的结果
space(int n) 返回长度为n的空字符串
repeat(string str,int n) 重复字符串函数,返回重复n次后的str字符串
asccii(string str) 首字符asccii函数,返回字符串str第一个字符的asccii码
Ipad(string str,int len,string pad) 左补足函数,将str用pad进行左补足到len位
rpad(string str,int len,string pad) 右补足函数,将str用pad进行右补足到len位
split(string str,string pat) 按照pat字符串分割str,会返回分割后的字符串数组
find_in_set(string str,string strList) 返回str在strlist第一次出现的位置,strlist是用逗号分割的字符串集合,没有找到就返回0
聚合函数列表
函数 用法
count(*),count(expr) , 返回检索的行的个数
sum(col),sum(distinct col) 返回该列或该列的不同元素的总和
avg(col),avg(distinct col) 返回列或该列不同元素的平均值
min(col) 返回该列中的最小值
max(col) 返回该列中的最大值
条件判断函数列表
函数 用法
if(testcondition,T value,F value) 判断条件只有两种结果时,可以使用if,如果为ture就返回T值,如果为False就返回F值
coalesce(T v1,T v2,...) 非空查找函数,返回参数中第1个非空值,如果所有值都为null,那么返回null
case condition when a then b when c then d else e end 多条件判断
相关推荐
Yz98763 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
lzhlizihang3 小时前
python如何使用spark操作hive
hive·python·spark
武子康4 小时前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs
武子康4 小时前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
锵锵锵锵~蒋4 小时前
实时数据开发 | 怎么通俗理解Flink容错机制,提到的checkpoint、barrier、Savepoint、sink都是什么
大数据·数据仓库·flink·实时数据开发
武子康12 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
JessieZeng aaa15 小时前
CSV文件数据导入hive
数据仓库·hive·hadoop
Yz98761 天前
hive复杂数据类型Array & Map & Struct & 炸裂函数explode
大数据·数据库·数据仓库·hive·hadoop·数据库开发·big data
EDG Zmjjkk1 天前
Hive 函数(实例操作版2)
数据仓库·hive·hadoop