前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据必知必会系列——萌新提问怎么定义HiveUDF函数?能否给个示例

大数据必知必会系列——萌新提问怎么定义HiveUDF函数?能否给个示例

作者头像
Maynor
发布2021-12-07 11:24:17
1690
发布2021-12-07 11:24:17
举报

引言

大家好,我是ChinaManor,直译过来就是中国码农的意思,俺希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,一个平凡而不平庸的人。 学习大数据差不多一年了,笔者最近在整理大数据学习的笔记资料,这个系列是整理的一些大数据必知必会的知识。

下面为大家分享Hive中UDF如何自定义

UDF开发实例 简单UDF示例

第一步:创建maven java 工程,导入jar包

代码语言:javascript
复制
<repositories>
    <repository>
        <id>cloudera</id>
 <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>2.6.0-cdh5.14.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-exec</artifactId>
        <version>1.1.0-cdh5.14.0</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>
     <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
         <version>2.2</version>
         <executions>
             <execution>
                 <phase>package</phase>
                 <goals>
                     <goal>shade</goal>
                 </goals>
                 <configuration>
                     <filters>
                         <filter>
                             <artifact>*:*</artifact>
                             <excludes>
                                 <exclude>META-INF/*.SF
                                 META-INF/*.DSA
                                 META-INF/*/RSA</exclude>
                             </excludes>
                         </filter>
                     </filters>
                 </configuration>
             </execution>
         </executions>
     </plugin>
</plugins>
</build>

第二步:开发java类继承UDF,并重载evaluate 方法

代码语言:javascript
复制
public class ItcastUDF extends UDF {
    public Text evaluate(final Text s) {
        if (null == s) {
            return null;
        }
        //返回大写字母
        return new Text(s.toString().toUpperCase());

    }
}

第三步:将我们的项目打包,并上传到hive的lib目录下

第四步:添加我们的jar包 重命名我们的jar包名称

代码语言:javascript
复制
cd /export/servers/hive-1.1.0-cdh5.14.0/lib
mv original-day_06_hive_udf-1.0-SNAPSHOT.jar udf.jar

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

代码语言:javascript
复制
add jar /export/servers/hive-1.1.0-cdh5.14.0/lib/udf.jar;

第五步:设置函数与我们的自定义函数关联 创建临时函数

代码语言:javascript
复制
create temporary function tolowercase as 'cn.itcast.udf.ItcastUDF';

删除临时函数 drop temporary function tolowercase

创建永久函数

代码语言:javascript
复制
create function tolowercase1 as 'cn.itcast.udf.ItcastUDF';

删除永久函数

代码语言:javascript
复制
drop   function tolowercase1;

第六步:使用自定义函数

代码语言:javascript
复制
select tolowercase('abc');
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-06-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 下面为大家分享Hive中UDF如何自定义
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档