Hive函数

1.查看函数

  • 函数有库的概念,系统提供的除外,系统提供的函数可以在任意库使用!
  • 查看当前库所有的函数:show functions;
  • 查看函数的使用: desc function 函数名
  • 查看函数的详细使用: desc function extended 函数名

2.函数的分类

按函数的来源:

  • ①系统函数,自带的,直接使用即可
  • ②用户自定义的函数。
    a)遵守hive函数类的要求,自定义一个函数类
    b)打包函数,放入到hive的lib目录下,或在HIVE_HOME/auxlib,auxlib用来存放hive可以加载的第三方jar包的目录
    c)创建一个函数,让这个函数和之前编写的类关联函数有库的概念
    d)使用函数

按函数的特征:

  • ①UDF: 用户定义的函数。 一进一出。 输入单个参数,返回单个结果!比如:cast(‘a’ as int) 返回 null
  • ②UDTF: 用户定义的表生成函数。 一进多出。传入一个参数(集合类型),返回一个结果集!
  • ③UDAF: 用户定义的聚集函数。 多进一出。 传入一列多行的数据,返回一个结果(一列一行) 。比如:count(),avg(),sum()

常用函数

常用日期函数

hive默认解析的日期必须是: 2019-11-24 08:09:10
unix_timestamp:返回当前或指定时间的时间戳
from_unixtime:将时间戳转为日期格式
current_date:当前日期
current_timestamp:当前的日期加时间
to_date:抽取日期部分
year:获取年
month:获取月
day:获取日
hour:获取时
minute:获取分
second:获取秒
weekofyear:当前时间是一年中的第几周
dayofmonth:当前时间是一个月中的第几天
months_between: 两个日期间的月份,前-后
add_months:日期加减月
datediff:两个日期相差的天数,前-后
date_add:日期加天数
date_sub:日期减天数
last_day:日期的当月的最后一天

date_format格式化日期 date_format( 2019-11-24 08:09:10,‘yyyy-MM’) mn

常用取整函数

round: 四舍五入
ceil: 向上取整
floor: 向下取整

常用字符串操作函数
upper: 转大写
lower: 转小写
length: 长度
trim: 前后去空格
lpad: 向左补齐,到指定长度
rpad: 向右补齐,到指定长度
regexp_replace: SELECT regexp_replace(‘100-200’, ‘(\d+)’, ‘num’)='num-num
使用正则表达式匹配目标字符串,匹配成功后替换!

集合操作

size: 集合(map和list)中元素的个数
map_keys: 返回map中的key
map_values: 返回map中的value
array_contains: 判断array中是否包含某个元素
sort_array: 将array中的元素排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙晨c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值