Eclipse下新建java project,编写转换小写测试函数:
package com.tom;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class HiveUDF extends UDF{
public Text evaluate(final Text str) {
if(str == null) return null;
return new Text(str.toString().toLowerCase());
}
}
关联jar包:
hive-exec-0.13.1.jar
hadoop-common-2.5.1.jar
右键export打包为udf_toLower.jar文件,传到hive主机/root/udfs下。
在hive中添加jar包:
hive> add jar /root/udfs/udf_toLower.jar;
Added /root/udfs/udf_toLower.jar to class path
Added resource: /root/udfs/udf_toLower.jar
创建udf:
hive> create temporary function lower as 'com.tom.HiveUDF';