hive 查找函数并查看函数使用方法
1. 查看month 相关的函数
show functions like '*month*'
输出如下:
2.查看 add_months 函数的用法
desc function add_months;
3. 查看 add_months 函数的详细说明并举例
desc function extended add_months;
到这里一个简单的UDF就写完了,然而我们怎么去使用它呢?
如下面的例子
部署 Jar包
hdfs -dfs -put czy_hivetest.jar ‘hdfs:///user/hadoop/hiveUDF’
创建永久函数
需在Hive中执行sql语句,格式如下:
CREATE FUNCTION [db_name.]function_name AS class_name
[USING JAR|FILE|ARCHIVE 'file_uri' [, JAR|FILE|ARCHIVE 'file_uri'] ];
- 1
- 2
例如
CREATE FUNCTION db_name.getResult AS ' test.UDFTest'
USING JAR 'hdfs:///user/hadoop/hiveUDF/czy_hivetest.jar';
- 1
- 2
创建临时函数
CREATE TEMPORARY FUNCTION getResult AS ' test.UDFTest';
SELECT getResult ("22,11,33", "11,33,22",",") FROM YDBTest;
DROP TEMPORARY FUNCTION getResult ;
- 1
- 2
- 3
创建一个临时函数,指向对应的UDF类就可以在之后的sql中使用这个函数啦,使用完了记得drop掉这个函数哦。
函数需要属于某个库,如库名为test,当其他库调用的时候,需要加上库名,如“test.getResult ”调用方式: select test.getResult (‘127.0.0.1’,’192.168.0.1’,’.’) as result;
如果是临时函数的话,则不能添加库名。