首页 > 其他分享 >Hive添加udf

Hive添加udf

时间:2024-12-31 14:19:46浏览次数:1  
标签:Text jar hadoop hive 添加 udf Hive apache org

一、引用

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-exec</artifactId>
    <version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>2.7.3</version>
</dependency>

二、代码

package UDF;
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class LowerUDF extends UDF{
    /**
     * 1. Implement one or more methods named "evaluate" which will be called by Hive.
     *
     * 2. "evaluate" should never be a void method. However it can return "null" if needed.
     */
    public Text evaluate(Text str){
        // input parameter validate
        if(null == str){
            return null ;
        }
        // validate
        if(StringUtils.isBlank(str.toString())){
            return null ;
        }
        // lower
        return new Text(str.toString().toLowerCase()) ;
    }
    public static void main(String[] args) {
        System.out.println(new LowerUDF().evaluate(new Text("BBB")));
    }
}
引用完写好后,点击maven的package,打包成jar包

三、上传到hdfs

1、创建目录并上传 hadoop fs -mkdir /hive hadoop fs -put myMavenTest-1.0-SNAPSHOT.jar /hive hadoop fs -ls /hive

2、hive客户端添加jar包

hive

add jar hdfs://wangshida:8020/hive/myMavenTest-1.0-SNAPSHOT.jar; 3、设置hiveUDF的main主类 create temporary function lower_udf as 'hive.LowerUDF'; 4、测试 create table testhive (id int ,name string); insert into testhive values(1,'WWWWAA'); select lower_udf(name) from testhive;

 

标签:Text,jar,hadoop,hive,添加,udf,Hive,apache,org
From: https://www.cnblogs.com/robots2/p/18643882

相关文章

  • Dictionary 添加重复的键值对
    Dictionary添加重复的键值对|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|-----------......
  • CloudflareSpeedTest优选IP
    #1.下载CloudflareSpeedTestCloudflareST_linux_amd64.tar.gz:https://url53.ctfile.com/f/62655553-1442843278-2c1830?p=7311(访问密码:7311)#2.下载generate_hosts.shgenerate_hosts.sh:https://url53.ctfile.com/f/62655553-1442843314-4dcbe5?p=7311(访问密码:731......
  • 抖音跳转卡片教程来了!外面卖99一张的跳转卡片,点击直达微信添加好友界面,高效引流!!
    抖音私信卡片是抖音平台内一种特殊的分享和交互方式。卡片的内容可以自定义,因此更能吸引用户的点击。抖音私信卡片的主要功能包括:跳转微信:用户点击卡片后,系统会自动打开微信并显示指定的二维码,用户长按识别即可添加好友或进入群聊。不要急,我们先来看演示视频了解一下,视频教......
  • 熟悉Hive的基本操作
    实验6熟悉Hive的基本操作 1.实验目的(1)理解Hive作为数据仓库在Hadoop体系结构中的角色。(2)熟练使用常用的HiveQL。2.实验平台操作系统:Ubuntu18.04(或Ubuntu16.04)。Hadoop版本:3.1.3。Hive版本:3.1.2。JDK版本:1.8。3.数据集由《Hive编程指南》(O'Reilly系列,人民邮电出版社)......
  • 【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
    问题描述根据GraphAPI的实例文档,在单个请求中将多个成员添加入组。代码执行后,无错误消息,但是,用户也没有添加成功。在单个请求中向组添加多个成员文档地址:https://learn.microsoft.com/zh-cn/graph/api/group-post-members?view=graph-rest-1.0&tabs=python 问题解答......
  • 【YashanDB知识库】hive初始化崖山报错YAS-04209
    本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7849008.html?templateId=1718516【问题分类】功能使用【关键字】hadoop,hive,YAS-02058【问题描述】hive初始化崖山报错:0:jdbc:yasdb://192.168.xxx.xxx:1688/hive>CREATETABLEIFNOTEXISTSMAST......
  • nuxt 添加 redis 缓存
    这个文章的主要目的是通过redis缓存nuxt2中服务端渲染的页面。从而优化加载速度以及减轻服务端的压力。Nuxt是什么Nuxt.js是一个基于Vue.js的开源框架,旨在为开发者提供一个简单的方式来构建高性能的Vue应用。它提供了许多功能,使得开发服务器端渲染(SSR)、静态站点生成......
  • 如何向ik分词器插件中添加扩展字典
    1.创建extra.txt文件(扩展字典)填入自定义词语2.将extra.txt文件复制到ES插件目录的ik/config目录下3.编辑IKAnalyzer.cfg.xml,配置扩展字典路径4.重启ES5.验证添加扩展字典之前添加扩展字典之后,看到到发线已经被分词成功......
  • CSS3使用Animation如何为同一个元素添加多个动画效果?
    在CSS3中,你可以通过逗号分隔的方式为同一个元素添加多个动画效果。以下是一个简单的例子,其中元素会同时进行两个动画:一个是移动(moveRight),另一个是颜色变化(colorChange)。首先,定义你的动画:@keyframesmoveRight{from{transform:translateX(0);}to{......
  • Linux shell 变量添加回车换行
    前言全局说明Linuxshell变量添加回车换行一、说明1.1环境:Ubuntu18.04.6LTS(Linuxqt-vm5.4.0-150-generic#167~18.04.1-UbuntuSMPWedMay2400:51:42UTC2023x86_64x86_64x86_64GNU/Linux)二、错误的,变量添加回车换行在bash中,如果要把变量赋值为换行......