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 多条件判断
相关推荐
ProtonBase1 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
清平乐的技术专栏12 小时前
Hive SQL 查询所有函数
hive·hadoop·sql
csding1114 小时前
写入hive metastore报问题Permission denied: user=hadoop,inode=“/user/hive”
数据仓库·hive·hadoop
神秘打工猴1 天前
hive常用函数有哪些
hive
不会写代码的女程序猿1 天前
关于ETL的两种架构(ETL架构和ELT架构)
数据仓库·架构·etl
lucky_syq2 天前
Hive与HBase的区别有哪些
hive·hadoop·hbase
出发行进2 天前
Hive其五,使用技巧,数据查询,日志以及复杂类型的使用
大数据·hive·数据分析
ssxueyi2 天前
数据仓库有哪些?
大数据·数据仓库·数据湖
武子康2 天前
大数据-256 离线数仓 - Atlas 数据仓库元数据管理 正式安装 启动服务访问 Hive血缘关系导入
大数据·数据仓库·hive·hadoop
向阳逐梦2 天前
开源云原生数据仓库ByConity ELT 的测试体验
数据仓库·云原生·开源