Hive UDF开发(单个参数)

Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。
Hive的UDF开发只需要重构UDF类的evaluate函数即可。例:
package com.sohu.hive.udf;

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

public class Md5 extends UDF {
	public String evaluate(String str) {

		try {

			return MD5Util.getMD5Str(str).substring(0, 7);

		} catch (Exception e) {
            e.printStackTrace();
			return str;

		}

	}
}
将该java文件编译成md5.jar
hive> add jar md5.jar;

hive> create temporary function md5as 'com.sohu.hive.udf.Md5';

hive> select md5(url) from focuspvlog limit 2;

hive> drop temporary function md5;

注:
  1. md5为临时的函数,所以每次进入hive都需要add jar以及create temporary操作
  2. UDF只能实现一进一出的操作,如果需要实现多进一出,则需要实现UDAF

你可能感兴趣的:(hive)