首页 > 代码库 > HIVE 编写自定义函数UDF
HIVE 编写自定义函数UDF
一 新建JAVA项目 并添加 hive-exec-2.1.0.jar 和hadoop-common-2.7.3.jar
hive-exec-2.1.0.jar 在HIVE安装目录的lib目录下
hadoop-common-2.7.3.jar在hadoop的安装目录下的\share\hadoop\common
二 编一个一个类并继承UDF 并重写evaluate方法
下面以rownum为例
package com.udf; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; public class RowNumUDF extends UDF{ public static String signature = "_"; public static int order = 0; public int evaluate(Text text){ if(text != null){ //分组排序的依据,列名,通常为主键 String colName = text.toString(); //处理第一条数据 if(signature == "_"){ //记下分组排序的字段:主键,并将rownum设为1 signature = colName; order = 1; //返回rownum return order; }else{ //首先比对是否和上一条主键相同 if(signature.equals(colName)){ //rownum依次加1 order++; return order; }else{ //如果主键改变,将rownum设为1 signature = colName; order = 1; return order; } } }else{ //如果主键为空,则返回-1 return -1; } } }
三 导出位jar包并在HIVE中注册
HIVE 编写自定义函数UDF
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。