Function:
内置Function
udf
1.内置Function
show functions ;
string:
upper
lower
show functions like upper; => hive内置函数是否有 upper
desc function extended upper; =》 查看uppper 函数详细使用
1.1 时间函数
1.current_date => 打印当前时间 2022-12-28 yyyy-MM-dd
2.current_timestamp => 打印当前时间戳 2022-12-28 09:57:02.319
3.unix_timestamp ** => 日期转成 秒值【1970】
1.打印当前时间的时间戳 1672221664 秒值 long
2.传入一个dt => 秒值
eg:
unix_timestamp('2022-12-28 00:00:00');
unix_timestamp('2022-12-28','yyyy-MM-dd');
4.from_unixtime ** => 秒值 =》 日期格式
5.to_date => 年月日
6.year => 年
year、quarter、month day hour minute
7.months_between 、add_months、datediff **
8.date_add、 date_sub、last_day =》
9.date_format 日期格式 ***
1.2 算术相关函数
1.round 四舍五入
2.ceil 向上取整
3.floor 向下取整
4.rand()
1.3 字符串相关函数
upper
lower
length
trim
lpad 左边补全
rpad 右边补齐
replace/ regexp_replace
substr 字符串截取
concat 字符串拼接
concat_ws 字符串拼接
split 字符串分割
1.4 json数据处理
1.get_json_object ok
2.json_tuple 首选
3.udf函数
1.5 判断类 function
1.case when
when
else
end
2.if()
2.udf
1.extends UDF
2.实现 evaluate
3.使用:
1.打包上传服务器
1.临时函数 【推荐】
1.add jar /home/hadoop/lib/dl2262-hive-udf-1.0.jar;
2.create temporary function hello_udf as 'com.dl2262.UDFHello';
注意:
仅仅是当前session有效
另外一种使用方式;
1.把自己开发jar =》 hive目录下 auxlib下面
add jar =》 可以省略
HIVE_AUX_JARS_PATH
2.永久函数【不建议使用】
CREATE FUNCTION [db_name.]function_name AS class_name
[USING JAR|FILE|ARCHIVE 'file_uri' [, JAR|FILE|ARCHIVE 'file_uri'] ];
create function hello_udf02 as 'com.dl2262.UDFHello' USING JAR 'hdfs://bigdata:9000/udf-lib/dl2262-hive-udf-1.0.jar';