华为云创建udf

如何使用
1.把以上程序打包成AddDoublesUDF.jar,并上传到HDFS指定目录下(如“/user/hive_examples_jars/”)且创建函数的用户与使用函数的用户有该文件的可读权限。示例语句:

hdfs dfs -put ./hive_examples_jars /user/hive_examples_jars

hdfs dfs -chmod 777 /user/hive_examples_jars


2.需要使用一个具有admin权限的用户登录beeline客户端,执行如下命令:

kinit Hive业务用户

beeline

set role admin;


3.在Hive Server中定义该函数,以下语句用于创建永久函数:

CREATE FUNCTION addDoubles AS 'com.huawei.bigdata.hive.example.udf.AddDoublesUDF' using jar 'hdfs://hacluster/user/hive_examples_jars/AddDoublesUDF.jar';

其中addDoubles是该函数的别名,用于SELECT查询中使用。

以下语句用于创建临时函数:

CREATE TEMPORARY FUNCTION addDoubles AS 'com.huawei.bigdata.hive.example.udf.AddDoublesUDF' using jar 'hdfs://hacluster/user/hive_examples_jars/AddDoublesUDF.jar';
•addDoubles是该函数的别名,用于SELECT查询中使用。
•关键字TEMPORARY说明该函数只在当前这个Hive Server的会话过程中定义使用。


4.在Hive Server中使用该函数,执行SQL语句:

SELECT addDoubles(1,2,3);

 

若重新连接客户端再使用函数出现[Error 10011]的错误,可执行reload function;命令后再使用该函数。


5.在Hive Server中删除该函数,执行SQL语句:

DROP FUNCTION addDoubles;

 

posted @ 2021-04-20 10:00  Simon92  阅读(145)  评论(0编辑  收藏  举报