在hive中,经常需要查询自定义的以及系统的函数使用方法,一般情况下在hive中使用下面三个命令即可:
1.查看所有的函数:
show functions;
2. 查看date相关的函数:(模糊查询)
show functions like 函数名
示例:show functions like '*date*' (模糊查询)
3.粗粒度查看函数的使用方法:
desc function 函数名
示例:desc function round;
4. 细粒度查看函数使用方法:
desc function extended 函数名
示例:desc function extended round;
二. 进行上传自定义函数
-
编码完成后,在pom.xml所在目录执行命令mvn clean package -U;
-
在target目录得到文件hiveudf-1.0-SNAPSHOT.jar
-
将jar下载到hive服务器,我这里放在此目录:/hadoop/udf/
-
在hive会话模式执行以下命令添加本地jar:
add jar /home/hadoop/udf/hiveudf-1.0-SNAPSHOT.jar;
-
部署临时函数:
create temporary function udf_wordsplitsinglerow as 'com.bolingcavalry.hiveudf.udtf.WordSplitSingleRow';
-
进行更新验证函数
需要进行清除之前的临时函数:
drop temporary function if exists udf_wordsplitsinglerow; delete jar /home/hadoop/udf/hiveudf-1.0-SNAPSHOT.jar;
-
自定义UDF永久函数上传
1.将JAR包上传至
hdfs hadoop fs -put crcUDF.jar /tmp/chenhan/
2.创建永久函数
create function crc32 as 'hive_udf.testudf.Crc32' using jar 'hdfs:///tmp/chenhan/crcUDF.jar';
生成的crc32 被放在默认的default项目下,
使用时 select default.crc32(device_id) from .....



