7.3 自定义 UDF 函数

自定义一个可以把大写字母变成小写字母的函数

7.3.1 步骤1: 创建 maven 工程

创建 maven 工程, 并导入依赖

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-exec</artifactId>
    <version>2.3.3</version>
</dependency>

7.3.2 步骤2: 创建类, 并继承UDF

package com.atguigu.func;

import org.apache.hadoop.hive.ql.exec.UDF;

public class MyLower extends UDF {
//    函数名不能修改, 虽然不是从父类继承过来的
    public String evaluate (final String s) {
        if (s == null) {
            return null;
        }
        return s.toLowerCase();
    }

}

7.3.3 步骤3: 把类打成 jar 包, 并上传到服务器

  1. jar 的名字可以随意设置.

  2. 在服务的地址没有强制要求.

我的放在了: /opt/module/jars 目录下.


7.3.4 步骤4: 添加 jar 包到 ClassPath.

add jar /opt/module/jars/datas/tolower.jar;

7.3.5 步骤5: 创建临时函数与自定义的 UDF 类管理.

create temporary function mylower as "com.atguigu.func.MyLower";

7.3.6 步骤6: 测试临时函数是否可用

select ename, udf_lower(ename) lowername from emp;

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-11-20 18:14:21

results matching ""

    No results matching ""