hive更新UDF的正确步骤

1. 删除原函数和jar包

1.1 在hive窗口e中执行删除原函数

hive>DROP FUNCTION msgloanappsproc;

1.2 在beeline中执行删除jar包

hive (default)>  list jars;
/tmp/448a59e7-5ef8-4b76-8eed-ba04c73e126a_resources/udf-1.0.jar
hive (default)> delete jar hdfs:///user/hive/warehouse/extlib/udf-1.0.jar;
hive (default)>  list jars;
/tmp/448a59e7-5ef8-4b76-8eed-ba04c73e126a_resources/udf-1.0.jar
hive (default)> delete jar /tmp/448a59e7-5ef8-4b76-8eed-ba04c73e126a_resources/udf-1.0.jar;
Deleted [/tmp/448a59e7-5ef8-4b76-8eed-ba04c73e126a_resources/udf-1.0.jar] from class path
hive (default)>  list jars;
hive (default)> 

1.3 从hdfs上删除jar包

hdfs dfs -rm -f -skipTrash /user/hive/warehouse/extlib/udf-1.0.jar

2 重新上传jar包,注册函数

2.1 上传新的jar包到hdfs

hdfs dfs -put -f  /home/hadoop/shell/udf/udf-1.0.jar /user/hive/warehouse/extlib/

2.2 在hive窗口中执行添加jar包

hive> add jar hdfs:///user/hive/warehouse/extlib/udf-1.0.jar;

2.3 在hive窗口中执行注册永久函数

hive> create function msgloanappsproc as "udf_ltf.MsgLoanAppsProc" using jar 'hdfs:///user/hive/warehouse/extlib/udf-1.0.jar';

2.4 在hive窗口中查看结果

hive>show functions like '*Proc';

3 重启所有节点的hive server服务,UDF生效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容