zoukankan      html  css  js  c++  java
  • 大数据学习——hive函数

    1 内置函数

    测试各种内置函数的快捷方法:
    
    1、创建一个dual表
    
    create table dual(id string);
    
    2、load一个文件(一行,一个空格)到dual表
    
    3、select substr('angelababy',2,3) from dual;

    2 自定义函数UDF(user-defined function)和transform

    自定义函数类别

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

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

    UDTF(User-Defined Table-Generating Functions),一进多出(输入一行,输出多行),比如:collect_set()、collect_list()

    1、先开发一个java类,继承UDF,并重载evaluate方法

    package cn.itcast.bigdata.udf
    import org.apache.hadoop.hive.ql.exec.UDF;
    import org.apache.hadoop.io.Text;
    
    public final class Lower extends UDF{
        public Text evaluate(final Text s){
            if(s==null){return null;}
            return new Text(s.toString().toLowerCase());
        }
    }

    2、打成jar包上传到服务器

    3、将jar包添加到hive的classpath

    add JAR /home/hadoop/udf.jar;

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

    create temporary function tolowercase as 'cn.itcast.bigdata.udf.ToProvince';

    5、即可在hql中使用自定义的函数tolowercase ip 

    Select tolowercase(name),age from t_test;

  • 相关阅读:
    jquery ajax跨域取数据
    Python编写相关注意事项
    深入理解java.lang.String
    Java设计模式----迭代器模式
    Java设计模式----状态模式
    Java设计模式----观察者模式
    Java设计模式----适配器模式
    Java设计模式----外观模式
    Java设计模式----建造者模式
    Java设计模式----模板方法模式
  • 原文地址:https://www.cnblogs.com/feifeicui/p/10289717.html
Copyright © 2011-2022 走看看