hadoop联邦集群 Hive 服务不重启udf函数生效
一 背景
公司的hive节点,spark节点,livy节点数过多,使用spark,livy访问hive数据库无可避免涉及到hive udf更新发布。
二 example
1. 新建udf maven项目。pom.xml添加依赖
<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>2.3.4</version> <scope>provided</scope> </dependency>
新建demo 类
将项目打包,上传到hdfs指定路径。
如上传路径为 /tmp/udftest.jar
2. 在hive中新建永久函数
然后使用spark 客户端访问hive
spark 中不能支持viewfs。那么变通下 在创建永久函数时指定hdfs路径时带上namspace.
jdbc:hive2://jssz-xxx-hive-02:10001> create function test3 as 'udf.UdfTest' using jar 'hdfs://jssz-xxx-ns1/tmp/udftest.jar';
hive 客户端和spark访问就可以正常访问了。