临时函数,关闭会话就结束了生命周期,下次要想使用,需要重新注册。
add jar /path/xx.jar(存储在本地磁盘) // 临时注册UDF函数(hive会话生效) create temporary function 函数名 as '包名.类名';删除临时函数:
drop temporary function 数据库名.函数名;
永久函数永久函数一旦注册,可以在hive cli,远程连接hiveserver2等地方永久使用,步骤为:
先上传jar包到HDFS
永久注册:
CREATE FUNCTION 函数名 AS '包名.类名' USING JAR 'hdfs:///path/xxxx.jar';注意:指定jar包路径需要是hdfs路径。
删除永久函数:
drop function 数据库名.函数名字;新增的永久函数,比如在hive cli命令行注册的,可能会在beeline或者hiveserver2远程连接时,提示不存在该函数。解决办法是,在无法使用UDF的HiveServer2上,执行reload function命令,将MetaStore中新增的UDF信息同步到HiveServer2内存中。
场景UDF在hive中使用场景广泛,这里列举常用的使用场景。
IP 转化为地址 分词 SQL 分析UDF