UDF编程操作实现

时间:2022-05-06
本文章向大家介绍UDF编程操作实现,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

UDF编程操作实现

1 编写Lower_Or_UpperCase.java,其代码如下:

import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class Lower_Or_UpperCase extends UDF{
 public Text evaluate(Text t, String up_or_lower){
 if(t==null){
 return null;
       }else if(up_or_lower.equals("lowercase")){
 return new Text(t.toString().toLowerCase());
       }else if(up_or_lower.equals("uppercase")){
 return new Text(t.toString().toUpperCase());
       }else{
 return null;
       }
    }
}

2 将Lower_Or_UpperCase.java打成jar包导入到ubuntu系统hadoop用户的hive-data文件夹。

3 实现该函数,具体操作和计算结果如下:

hive> add jar /home/hadoop/hive-data/uporlower.jar;

hive> create temporary function uporlower1 as 'Lower_Or_UpperCase';

hive> select uporlower1(name, 'uppercase') from userinfo;

WANGMING

XIAOMING

WUJING

ZHANGQI

XIAOMI

WANGYI

hive> select uporlower(name, 'lowercase') from userinfo;

wangming

xiaoming

wujing

zhangqi

xiaomi

wangyi