如何使用 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;