分享

hive UDF自动增长列函数

yuwenge 2015-6-18 23:38:58 发表于 小知识点 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 13156
1.导入Eclipse编码jar包
    hadoop-auth-2.4.0.2.1.3.0-563.jar
    hadoop-common-2.4.0.2.1.3.0-563.jar
    hive-exec-0.13.0.2.1.3.0-563.jar

2.代码
[mw_shl_code=java,true]import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.hive.ql.udf.UDFType;
import org.apache.hadoop.io.LongWritable;
/*
* UDF RowSequence
*/
@Description(name = "auto_sequence",
value = "_FUNC_() - Returns a generated row sequence number starting from 1")
@UDFType(deterministic = false)
public class RowSequence extends UDF {
   private LongWritable result = new LongWritable();
  
   public RowSequence(){
      result.set(0);
   }
   public LongWritable evaluate(){
      result.set(result.get() + 1);
      return result;
   }
}[/mw_shl_code]

3.将jar包导出上传到hive上运行
    (1)从Eclipse导出jarbao
            spacer.gif
    (2)将autoSequence.jar放到/usr/lib/hive/lib
            hive
            add jar /usr/lib/hive/lib/autoSequence.jar;
            create temporary function auto_sequence as 'com.redhadoop.autosequence.RowSequence';
            select auto_sequence(),uname from tb_user

已有(1)人评论

跳转到指定楼层
凌飞羽 发表于 2015-6-19 07:32:33
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条