在 Hive客户端中使用自定义创建UDF函数时,报"ERROR 10011","invalid function"的异常:
在Hive上自定义创建了一个函数,在hive本地执行是成功的。但是使用beeline连接hive执行函数或者在hue平台执行函数都报错,提示Invalid function。
Hive2.3版本
Hadoop2.7版本
hive (default)> desc function extended sqlServerdes; OK tab_name There is no documentation for function 'sqlServerdes' Function class:com.fuyun.udf.DesGUDF Function type:PERSISTENT Resource:hdfs:///user/hive/libs/SqlServerDes_v1.1.jar Time taken: 0.008 seconds, Fetched: 4 row(s)
可能原因:
多个HiveServer之间或者Hive与Spark之间共用的元数据未同步,导致不同HiveServer实例内存数据不一致,造成UDF不生效。
解决方法:
需要将新建的UDF信息同步到HiveServer中,执行reload function操作即可。
参考文章:https://support.huaweicloud.com/trouble-mrs/mrs_03_0173.html