集群环境:CDH5.16.2
问题描述:使用hive cli 在hive中创建的了永久的udf函数(当前连接生效,新建连接进入hive cli依然生效),但是当使用hue或者beeline连接,查询方法以及使用时无法找到,python3使用impala.dbapi连接hive也无法使用udf函数
UDF函数简介:一进一出。一般由java语言编写,也可以使用python语言编写。hive中常用来做复杂数据清洗。
UDF函数创建方式:
临时创建:
CREATE TEMPORARY FUNCTION function_name As
永久创建
add jar hdfs:///user/hive/warehouse/UDF/ucode_zz.jar;--导入jar文件到hive中
create function function_name as 'com.xxx.udf.xxx' using jar 'hdfs:///path/xxx.jar'; --创建永久函数 方法名 包名 jar文件路径
linux端进入hivecli,找不到方法,但可以使用
hive
show functions
linux端进入beeline,找不到方法,且无法使用。
beeline
!connect jdbc:hive2://host_name:11000/database --database 可以写可以不写
username
password
show functions
hue页面测试用beeline
解决方法:重启集群(hive,hue),测试,均正常,可以使用。