Hive的自定义函数

Posted 蓝小冰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive的自定义函数相关的知识,希望对你有一定的参考价值。

#Hive提供的函数

查看hive中的函数:  

show functions ;命令来列举hive中所有的函数。

函数的描述:

describe function 函数名 ;可以查看函数的简单介绍

若hive提供的函数不满足我们的需求,我们就需要自定义函数来实现想要的功能。

# UDF(User Defined  Function)用户自定义函数(java实现)
## 1.首先要继承自org.apache.hadoop.hive.ql.UDF类 实现里面的evaluate方法
例:合并两个字符串
    import org.apache.hadoop.hive.ql.exec.UDF;

    public class AddCount extends UDF{
        public String evaluate(String a,String b){
            return a+b;
        }
    }
## 2.将写完的程序打成jar包

## 3.在hive客户端执行

hive>add jar jar'url;
##   4.创建临时函数

hive>CREATE TEMPORARY FUNCTION funcName AS ‘包名.类名';
## 5.查询HQL语句

hive>select funcName("hello","world") from test;

helloworld
## 6.删除函数

hive> DROP TEMPORARY FUNCTION funcName ;

# Hiverc文件

Hive在每次启动时,会执行Hiverc文件,例如需要常用的UDF和UDAF自定义函数,不必要每次都加载,可以直接写入Hiverc文件。


以上是关于Hive的自定义函数的主要内容,如果未能解决你的问题,请参考以下文章

编写scala版hive的自定义函数

[Hive_12] Hive 的自定义函数

如何在 Hive 中重新加载更新的自定义 UDF 函数?

Hive row_number() 中的自定义排序,按窗口函数排序

如何在Hive&Impala中使用UDF

0011-如何在Hive & Impala中使用UDF