分享

怎么将hive自定义UDAF函数永久加载到hive里

zclandzzq 发表于 2013-10-16 13:38:43 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 9789
本帖最后由 pig2 于 2014-9-4 21:29 编辑
按网上很多一致的说法步骤如下:
添加函数自定义方法文件$HIVE_HOME/src/ql/src/java/org/apache/hadoop/hive/ql/udf/UDAFFunction.java
修改$HIVE_HOME/src/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java文件
import org.apache.hadoop.hive.ql.udf.UDAFFunction;
registerUDF(“method”, UDAFFunction.class,false)或是registerGenericUDAF(“method”,new UDAFFunction());   
都未能成功。show functions并没有。如果使用临时注册函数方法可以使用。
我的实现的UDAF函数是直接下载hive的udaf的一些内置函数源码修改的。
注:由于是刚接触hive,所以有些疑问。发现这里面并没有class文件,重启hive会自动编译生成吗。还是需要导入jar包,但是手动导入jar包后,也不能用。求哪位成功加入的大神解答。
              

已有(1)人评论

跳转到指定楼层
pig2 发表于 2014-9-4 21:27:20
临时加载:
1.首先添加jar包。hive> ADD JAR /dir/dir/*****.jar;
2.创建函数hive> CREATE TEMPORARY FUNCTION myfunction AS 'com.example.MyFunction';
永久加载:
在.hiverc文件中添加相关语句
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条