新增自定义的udf包

本文详细介绍了如何在Hive中创建并使用自定义UDF。从编写Java代码,到编译成class文件,再到打包成jar,最后在Hive中添加jar并创建临时函数,整个过程一气呵成。通过一个简单的`TestHello`示例,展示了UDF的实现和调用,帮助理解Hive扩展功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于需要满足一个hive中不等值连接的需求,必须得自己手工写udf。以前也没有试过,所以今天尝试了下自己写了个TestHello.java.

由于没有用eclipse,所以直接用的是ultraedi+javac搞定的。

--在/home/dwdev/cajeep目录下,新建com\alibaba\hive\udf,

--命令mkdir -p com\alibaba\hive\udf

--新建java文件 vi com\alibaba\hive\udf\TestHello.java

java内容如下:

package com.alibaba.hive.udf;   
  
import org.apache.hadoop.hive.ql.exec.UDF  ; 
  
public class TestHello extends UDF{   
     public String evaluate(){   
          return "hello world!";   
    }   
 
     public String evaluate(String str){   
          return "hello world: " + str;   
     }   
};

--仍旧在当前目录下,执行javac的编译命令。javac -classpath /dhwdata/hadoop/hadoop-0.19.2-core.jar:/dhwdata/hive/lib/hive-exec-1.1.2.jar /home/dwdev/cajeep/com/alibaba/hive/udf/TestHello.java

--将对应的class文件进行打包,jar -cvf TestHello.jar  com/alib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值