前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据-UDF开发实例

大数据-UDF开发实例

作者头像
cwl_java
发布2019-12-26 16:04:28
6660
发布2019-12-26 16:04:28
举报
文章被收录于专栏:cwl_Java

3.3. UDF 开发实例

3.3.1. Step 1 创建 Maven 工程

代码语言:javascript
复制
    <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec -->
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-exec</artifactId>
            <version>3.1.1</version>
        </dependency> <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>3.1.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

3.3.2. Step 2 开发 Java 类集成 UDF

代码语言:javascript
复制
public class MyUDF extends UDF {
    public Text evaluate(final Text str) {
        String tmp_str = str.toString();
        if (str != null && !tmp_str.equals("")) {
            String str_ret = tmp_str.substring(0, 1).toUpperCase() + tmp_str.substring(1);
            return new Text(str_ret);
        }
        return new Text("");
    }
}

3.3.3. Step 3 项目打包,并上传到hive的lib目录下

在这里插入图片描述
在这里插入图片描述

3.3.4. Step 4 添加jar包

重命名我们的jar包名称

代码语言:javascript
复制
cd /export/servers/apache-hive-3.1.1-bin/lib 
mv original-day_05_hive_udf-1.0-SNAPSHOT.jar myudf.jar

hive的客户端添加我们的jar包

代码语言:javascript
复制
add jar /export/servers/apache-hive-3.1.1-bin/lib/udf.jar;

3.3.5. Step 5 设置函数与我们的自定义函数关联

代码语言:javascript
复制
create temporary function my_upper as 'cn.itcast.udf.ItcastUDF';
在这里插入图片描述
在这里插入图片描述

3.3.6. Step 6 使用自定义函数

代码语言:javascript
复制
select my_upper('abc');
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.3. UDF 开发实例
    • 3.3.1. Step 1 创建 Maven 工程
      • 3.3.2. Step 2 开发 Java 类集成 UDF
        • 3.3.3. Step 3 项目打包,并上传到hive的lib目录下
          • 3.3.4. Step 4 添加jar包
            • 3.3.5. Step 5 设置函数与我们的自定义函数关联
              • 3.3.6. Step 6 使用自定义函数
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档