Hive函数(内置函数+自定义标准函数UDF)

本文介绍了Hive中的内置函数,包括标准函数、聚合函数和表生成函数,并详细讲解了如何自定义UDF、UDAF和UDTF。通过实例演示了自定义UDF的创建过程,以及如何在Hive中加载和调用这些函数。此外,还提供了两个练习题,帮助读者巩固时间操作和时间差计算的知识。
摘要由CSDN通过智能技术生成

Hive提供大量内置函数供开发者使用,也可以自定义函数使用

1、内置函数:

  • 标准函数(字符函数、转换函数、数学函数、日期函数、集合函数、条件函数 )
  • 聚合函数
  • 表生成函数
--查看内置函数
show functions;
--查看某个内置函数的用法
desc function extended 函数名;

常用内置函数如下:
在这里插入图片描述

--concat:字符串拼接
select concat("abc","ef"); 
--示例:将姓名和部门拼接
select concat(name,dept_num) as con from employee_contract;
--concat_ws(str1,str2,":") 将str1和str2用:拼接起来


--instr
select instr("abcdef","cd")  --查找cd在字符串出现的位置
--判断一个子字符串是否在这一列中存在
select * from employee where instr(name,"i")>0;

--length
select length("hello");  --5
select length(name) from employee_contract;

--locate
select locate("a","abc:hello world",4);  --从第四位开始查看a的位置
--lower/upper
select lower("hello SPARK");  --hello spark
select upper("hello SPARK");  --HELLO SPARK

--regexp_replace
select regexp_replace("abcdefg","de","hahahaha");  --将字符串里的de替换成hahahaha
--split
select split("hello,hive",",");  --按,切分
--substr
--"2020-12-14 10:17:30"
select substr("2020-12-14 10:17:30",1,7);  --将字符串1到7位截取出来
select substring("2020-12-14 10:17:30",1,7);
--trim
select trim(" hello world  ");  --去掉字符串两端的空格

在这里插入图片描述

--类型转换函数
--cast(expr as <type>)  将expr转换成type类型
select cast("1.2" as int);  --1
--数学函数
--round 四舍五入
select round(1.2235475684122);  --结果:1
select round(1.2235475684122,2); --结果:1.22

--floor 向下取整
select floor(6.90);  --结果:6
select floor(-6.90);  --结果:-7

--rand 随机数
select rand(2); --生成随机数,2是随机因子,随机因子相同,生成的随机数也相同

--power
select power(8,3);  --结果:512.0,8的3次方

--abs(double a) 计算绝对值
select abs(-3.7);  --结果:3.7

在这里插入图片描述

--日期函数
--from_unixtime  将时间戳转换成format格式
--unix_timestamp() 获取本都失去下的时间戳
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值