Hive UDF开发


Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。

Hive的UDF开发只需要重构UDF类的evaluate函数即可。例:

package com.hrj.hive.udf;

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

public class helloUDF extends UDF {

    public String evaluate(String str) {

        try {

            return "HelloWorld " + str;

        } catch (Exception e) {

            return null;

        }

    }

 

将该java文件编译成helloudf.jar

hive> add jar helloudf.jar;

hive> create temporary function helloworld as 'com.hrj.hive.udf.helloUDF';

hive> select helloworld(t.col1) from t limit 10;

hive> drop temporary function helloworld;

 

注:

1.helloworld为临时的函数,所以每次进入hive都需要add jar以及create temporary操作

2.UDF只能实现一进一出的操作,如果需要实现多进一出,则需要实现UDAF


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM