千家信息网

怎么利用eclipse编写自定义hive udf函数

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"怎么利用eclipse编写自定义hive udf函数",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么利用eclipse编写自定义
千家信息网最后更新 2026年11月01日怎么利用eclipse编写自定义hive udf函数

这篇文章主要讲解了"怎么利用eclipse编写自定义hive udf函数",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么利用eclipse编写自定义hive udf函数"吧!

eclipse编写自定义hive udf函数

在做日志分析的过程中,用到了hadoop框架中的hive,不过有些日志处理用hive中的函数处理显得力不从心,就需要用udf来进行扩展处理了

1 在eclipse中新建java project hiveudf 然后新建class package(com.afan) name(UDFLower)

2 添加jar library hadoop-core-1.1.2.jar(来源hadoop1.1.2) hive-exec-0.9.0.jar(来源hive-0.9.0)两个文件到project

import org.apache.hadoop.hive.ql.exec.UDF;  import org.apache.hadoop.io.Text;    public class UDFLower extends UDF{      public Text evaluate(final Text s){          if (null == s){              return null;          }          return new Text(s.toString().toLowerCase());      }  }

4 编译输出打包文件为 udf_hive.jar

第一步:

第二步:

第三步:

第四步:

第五步:

第六步:

5 将udf_hive.jar放入配置好的linux系统的文件夹中路径为/root/data/udf_hive.jar

6 打开hive命令行测试

hive> add jar /root/data/udf_hive.jar;

Added udf_hive.jar to class path
Added resource: udf_hive.jar

创建udf函数
hive> create temporary function my_lower as 'UDFLower'; // UDFLower'表示你的类的地址,例如你有包名:cn.jiang.UDFLower.java,那么就as后面接'cn.jiang.UDFLower',如果没有包名就直接写类名'UDFLower'就行

创建测试数据
hive> create table dual (name string);

导入数据文件test.txt

test.txt文件内容为

WHO

AM

I

HELLO

hive> load data local inpath '/root/data/test.txt' into table dual;

hive> select name from dual;

Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201105150525_0003, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_201105150525_0003
Kill Command = /usr/local/hadoop/bin/../bin/hadoop job -Dmapred.job.tracker=localhost:9001 -kill job_201105150525_0003
2011-05-15 06:46:05,459 Stage-1 map = 0%, reduce = 0%
2011-05-15 06:46:10,905 Stage-1 map = 100%, reduce = 0%
2011-05-15 06:46:13,963 Stage-1 map = 100%, reduce = 100%
Ended Job = job_201105150525_0003
OK
WHO
AM
I
HELLO

使用udf函数
hive> select my_lower(name) from dual;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201105150525_0002, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_201105150525_0002
Kill Command = /usr/local/hadoop/bin/../bin/hadoop job -Dmapred.job.tracker=localhost:9001 -kill job_201105150525_0002
2011-05-15 06:43:26,100 Stage-1 map = 0%, reduce = 0%
2011-05-15 06:43:34,364 Stage-1 map = 100%, reduce = 0%
2011-05-15 06:43:37,484 Stage-1 map = 100%, reduce = 100%
Ended Job = job_201105150525_0002
OK
who
am
i
hello

经测试成功通过

参考文章http://landyer.iteye.com/blog/1070377

感谢各位的阅读,以上就是"怎么利用eclipse编写自定义hive udf函数"的内容了,经过本文的学习后,相信大家对怎么利用eclipse编写自定义hive udf函数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

函数 文件 内容 处理 学习 测试 数据 文章 日志 来源 成功 力不从心 两个 命令 地址 就是 思路 情况 文件夹 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 深圳九邦互联网科技有限公司 广州大一互联网络科技有限公司 朗新科技与工业互联网 上海挚品互联网科技 成都互联网科技公司 润盈互联网科技 广州善班互联网科技 金融科技和互联网金融 丰台科技园 互联网公司 厦门比较好的科技互联网公司 米聚互联网科技南京有限公司排面 青海科技产业互联网发展 西安小鹰速贷互联网科技有限公司 佛山市拉法互联网科技有限公司 银行科技岗属于互联网吗 城市宝互联网科技有限公司 半导体行业属于互联网高科技类吗 互联网大会出现的黑科技 武汉亿视互联网科技有限公司 百单网互联网科技有限公司怎么样 科技股互联网 互联网中国科技 互联网科技公司发展 互联网女皇 腾讯科技 科技与互联网的利与弊 佛山市拉法互联网科技有限公司 互联网科技大赛获奖感言 东风日产互联网科技公司叫什么 广州全民伙伴互联网科技有限公司
0