Hive创建自定义函数

一、概述

  1. 如果hive的内置函数不够用,用户也可以自己定义函数来使用,这样的函数称为hive的用户自定义函数,简称UDF
  2. UDF使得Hive的可扩展性增强

二、实现步骤:

  1. 新建java工程,导入hive相关包,导入hive相关的lib
  2. 创建类继承UDF
  3. 自己编写一个evaluate方法,返回值和参数任意。
	import org.apache.hadoop.hive.ql.exec.UDF;
	public class ToUpper extends UDF{
	    public String evaluate(String str){
	        return str.toUpperCase();
	    }
	}
  1. 为了能让mapreduce处理,String要用Text处理。
  2. 将写好的类打成jar包,上传到linux中,jar中无需包含hive的jar
  3. 在hive命令行下,向hive注册UDF:add jar /xxxx/xxxx.jar
    在这里插入图片描述
  4. 在hive命令行下,为当前udf起一个名字:create temporary function fname as ‘类的全路径名’;
    在这里插入图片描述
  5. 之后就可以在hql中使用该自定义函数了。
    在这里插入图片描述

你可能感兴趣的:(Hive)