Hive函数和UDF详解

本文详细介绍了Hive的各种内置函数,包括数学函数、类型转换、日期函数、字符函数、集合函数、条件函数、聚合函数和表生成函数,并提供了丰富的示例。此外,还阐述了Hive用户自定义函数(UDF)的创建流程,包括编写UDF类、添加jar、创建函数以及如何在HQL中调用自定义函数。
摘要由CSDN通过智能技术生成

Hive函数

1.数学函数
(1)round
①返回对a四舍五入的BIGINT值

round(DOUBLE a)

返回值:DOUBLE
②返回对a四舍五入并保留d位小数位的值

round(DOUBLE a, INT d)

返回值:binary
(2)floor
向下取整,如:6.10->6 -3.4->-4

floor(DOUBLE a)

返回值:BIGINT
(3)rand
返回一个DOUBLE型随机数,seed是随机因子

rand(INT seed)

返回值:DOUBLE
(4)power
计算a的p次幂

power(DOUBLE a, DOUBLE p)

返回值:DOUBLE
(5)abs
计算a的绝对值

abs(DOUBLE a)

返回值:DOUBLE

2.类型转换函数
(1)cast
将expr转换成type类型 如:cast(“1” as BIGINT) 将字符串1转换成了BIGINT类型

cast(expr as <type>)

返回值:“type”

(2)binary
将输入的值转换成二进制

binary(string|binary)

返回值:binary

3.日期函数
(1)from_unixtime
将时间戳转换成format格式

from_unixtime(bigint unixtime[, string format])

返回值:string

(2)unix_timestamp
获取本地时区下的时间戳

unix_timestamp()

返回值:int

(3)unix_timestamp
将格式为yyyy-MM-dd HH:mm:ss的时间字符串转换成时间戳

unix_timestamp(string date)

返回值:bigint
(4)to_date
返回时间字符串的日期部分

to_date(string timestamp)

返回值:string
(5)year/month/day/hour/minute/second/weekofyear
返回时间字符串的年份部分,返回月/天/时/分/秒/第几周

year/month/day/hour/minute/second/weekofyear(string date)

返回值:int
(6)datediff
计算开始时间到结束时间相差的天数

datediff
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值