创建临时函数
1.打包
2.将hivefunction-1.0-SNAPSHOT上传到hadoop12的/export/servers/hive
3.将jar包添加到Hive的classpath
add jar /export/servers/hive/hivefunction-1.0-SNAPSHOT.jar;
4.创建临时函数与开发好的java class关联
create temporary function base_analizer as 'com.udf.BaseFieldUDF';
create temporary function flat_analizer as 'com.udtf.EventJsonUDTF';
创建永久函数
1.打包
2.将hivefunction-1.0-SNAPSHOT上传到hadoop12的/export/servers,然后再将该 jar 包上 传到 HDFS 的/user/hive/jars 路径下
hadoop fs -mkdir -p /user/hive/jars
hadoop fs -put hivefunction-1.0-SNAPSHOT.jar /user/hive/jars
3.创建永久函数与开发好的 javaclass 关联
create function base_analizer as "com.BaseFieldUDF" using jar 'hdfs://hadoop12:9000/user/hive/jars/hivefunction-1.0-SNAPSHOT.jar';
create function flat_analizer as "com.EventJsonUDTF" using jar 'hdfs://hadoop12:9000/user/hive/jars/hivefunction-1.0-SNAPSHOT.jar';
注意
::如果修改了自定义函数重新生成 jar 包怎么处理?只需要替换 HDFS 路径上的旧 jar 包,然后重启 Hive 客户端即可。