hive 自定义UDF,hive编译
来源:互联网 发布:sql server 取绝对值 编辑:程序博客网 时间:2024/05/22 01:38
hive增加临时函数
要自定一个hive的函数,步骤如下
1、写一个java类 要继承org.apache.hadoop.hive.ql.exec.UDF类实现evaluate
下面是一个替换字符串的函数,因为函数以后是在hadoop上运行,所以数据类型是hadoop的数据类型
引入的jar包:hive的所有jar 和 hadoop的hadoop-common-2.5.2.jar
package hive.udf;import org.apache.hadoop.hive.ql.exec.UDF;import org.apache.hadoop.io.Text;public class CharRepace extends UDF{public Text evaluate(Text in,Text old, Text n){String result = in.toString().replace(old.toString(), n.toString());return new Text(result);}}
把上面的代码打成NUDF.jar
hive> add jar /root/NUDF.jar;
3、创建临时函数
hive> create temporary function replace as 'hive.udf.CharRepace;
4.测试一下是否成功
hive> select replace(nation,'\t','') from tableName;
注意:这种方法每次使用都要add,create一下
add jar /root/NUDF.jar;drop temporary function replace;create temporary function replace as 'hive.udf.CharRepace;
hive编译,增加正式函数
上面只是添加临时的函数,如果想添加为正式函数,可以把代码添加到hive中,在重新编译jar。
编译步骤如下
1、把上面的java文件复制到 apache-hive-0.13.1-src/ql/src/java/org/apache/hadoop/hive/ql/udf 下边。当然java的package 要修改成package org.apache.hadoop.hive.ql.udf;
2、修改 org.apache.hadoop.hive.ql.exec.FunctionRegistry
添加 import org.apache.hadoop.hive.ql.udf.CharRepace;
registerUDF("strrc", CharRepace.class, false); "strrc"是你的函数名
3、cd到apache-hive-0.13.1-src/ql目录下
执行编译任务mvn clean package -Phadoop-2 -Pdist -DskipTests -Dtar
mvn如果没有安装就要安装一下,
-Phadoop-2 是说明hadoop是用的hadoop2,如果用的是hadoop1 ,则改成 -Phadoop-1
4、经过上面的编译后,在当前文件夹生成了一个target文件夹,复制里面的hive-exec-0.13.1.jar ,替换掉你hive安装程序lib目录下的相同jar包
5、启动hive测试一下你的函数是否增加成功
- hive 自定义UDF,hive编译
- HIVE 自定义函数 UDF
- Hive自定义UDF-RowNumber
- Hive自定义UDF-RowNumber
- Hive自定义UDF
- hive 增加自定义udf
- Hive自定义函数-UDF
- hive自定义函数UDF
- Hive自定义函数UDF
- Hive自定义UDF函数
- 自定义HIVE-UDF函数
- hive自定义函数UDF
- hive 自定义UDF UDAF UDTF
- Hive内部自定义函数UDF
- hive 自定义函数UDF,UDAF
- Hive自定义函数UDF开发
- hive-0.13固化自定义UDF
- Java 调用Hive 自定义UDF
- eclipse下gradle配置
- 【转】大访问量系统的设计(二)——高并发高流量网站架构
- linux下C语言利用命令发送邮件
- 机器学习资料
- 【转】大访问量系统的设计(一)
- hive 自定义UDF,hive编译
- 《陈刚教授报告会》有感
- log4net在项目中使用
- IntelliJ IDEA 设置代码提示或自动补全的快捷键
- 大数据处理算法一:Bitmap算法
- eclipse 背景颜色设置
- 2015年武汉赛后总结
- 300色 柔和色彩渐变色卡(十六进制)
- Struts2中的ModelDriven机制及其运用