如何将java类转换成UDF中的jar包

1. 首先我们需要建立java类,如下:

package cn.infotelcom.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
public class Get_sum_flow extends UDF
{
    public String evaluate(String upload, String download)
    {
        return "";
    }
}


2. 注意package的路径,在home目录下建立文件夹cn/infotelcom/udf,并将java类放到这边。


3. 建立文件夹cn/infotelcom/jar,并上传jar包hadoop-core-1.2.1.jar、hive-exec-0.7.1.jar


4. 在home目录下面执行命令javac -classpath /data2/u_lx_ctag/cn/infotelcom/jar/hadoop-core-1.2.1.jar:/data2/u_lx_ctag/cn/infotelcom/jar/hive-exec-0.7.1.jar /data2/u_lx_ctag/cn/infotelcom/udf/Get_sum_flow.java   目的:编译java文件,产生class文件,用于生成jar包


5. 在home目录下执行jar -cvf Get_sum_flow.jar cn/infotelcom/udf/Get_sum_flow.class,此命令的作用是生成jar包,jar包所在的目录是home根目录下面


6. 在hive中加载jar包:add jar /data2/u_lx_ctag/UDF_FUNCTION/Get_sum_flow.jar;【jar包的绝对路径】


7. 创建函数:CREATE TEMPORARY FUNCTION get_sum_flow AS 'cn.infotelcom.udf.Get_sum_flow';


8. 调用函数:select get_sum_flow(upload_bytes,download_bytes) from dual;


9. 大功告成啦。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值