zoukankan      html  css  js  c++  java
  • 10_Hive自定义函数UDF

    Hive官方的UDF手册地址是:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

    1.使用内置函数的快捷方法:

    创建一个表dual,load数据到dual表,然后尝试内置函数

    1.Hive自定义函数:

     当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)

    1.1.Hive自定义函数类别:

     UDF  作用于单个数据行,产生一个数据行作为输出。(数学函数,字符串函数)

     UDAF(用户定义聚集函数):接收多个输入数据行,并产生一个输出数据行。(count,max)

    1.2.Hive自定义函数UDF开发示例:

      自定义函数实现ToLowerCase的功能

      1.新建java工程,并将Hive中的lib目录下面的Jar包导入到项目中去;

      2.代码如下:先开发一个java类,继承UDF,并重载evaluate方法

    package cn.hive.demo;
    import org.apache.hadoop.hive.ql.exec.UDF;
    public class ToLowerCase extends UDF{
        /*必须是public*/
        public String evaluate(String field){
            return field.toLowerCase();
        }
    }

      3.将java工程打成jar包,然后上传到服务器,然后执行下面的代码:

        hive> add jar /data/udf.jar;(jar包添加到hive的classpath)

        

      4.创建临时函数与开发好的java class关联:

        Hive>create temporary function tolow as 'cn.hive.demo.ToLowerCase';

      5.使用自定义函数:

        Hive>select id,tolow(name) from t_low;

      

     

        

      

      

  • 相关阅读:
    网络编程
    C 语言 const
    C 语言 链表
    C 语言 按位计算
    C 语言 格式化输出输入
    C 语言 结构类型 联合
    C 语言 结构类型 结构
    C 语言 结构类型 枚举
    bash shell configuration
    sed usage
  • 原文地址:https://www.cnblogs.com/yaboya/p/9294223.html
Copyright © 2011-2022 走看看