首页 > 其他 > 详细

Hive 自定义函数

时间:2018-01-30 22:16:03      阅读:283      评论:0      收藏:0      [点我收藏+]

hive 支持自定义UDF,UDTF,UDAF函数

以自定义UDF为例:

使用一个名为evaluate的方法

package com.hive.custom;

import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.IntWritable;

public class XiaoUDF extends UDF {

    /**
     *  值加1000
     * @param i
     * @return val
     */
    public IntWritable evaluate(final IntWritable i) {
     int val= i.get();
     val+=1000;
        return new IntWritable(val);
      }
}

将写好的代码打为jar包,上传到服务器,或者hdfs

add jar /root/udfxiao.jar;
//add jar you.jar

技术分享图片

注册函数

 注册一个临时函数

create temporary function fei  as ‘com.hive.custom.XiaoUDF‘;
//fei:注册的函数名
//com.hive.custom.XiaoUDF 注册函数的全类名

技术分享图片

使用函数

select fei(id) from test;

技术分享图片

注册永久函数

create  function testdb.peng  as ‘com.hive.custom.XiaoUDF‘;
//testdb 注册永久函数的数据库

技术分享图片

从HDFS上注册函数

CREATE FUNCTION fei AS ‘com.hive.custom.XiaoUDF‘ USING JAR ‘hdfs:///udfxiao.jar‘;
// fei 注册的函数名
//com.hive.custom.XiaoUDF  函数的全内名
//hdfs:///udfxiao.jar   hdfs上根目录下的jar

技术分享图片

 

删除函数

drop temporary function if exists fei;

 技术分享图片

 

Hive 自定义函数

原文:https://www.cnblogs.com/jottings/p/8387352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!