ToLower自定义函数hive

Hive系列 (四):自定义函数UDF UDTF UDAF 使用idea创建hive自定义函数UDF UDTF UDAF ,详细介绍及语法代码案例 阅读详情
K
Time taken: 0.082 seconds
hive> select  ToLower("DDDDg")  from t_1;
FAILED: SemanticException [Error 10001]: Line 1:31 Table not found 't_1'
hive> select  ToLower("DDDDg")  from t1;
OK
Time taken: 1.589 seconds
hive> select  ToLower(" ")  from t1;
OK
Time taken: 0.06 seconds
hive> select  ToLower(" ")  from dual;
FAILED: SemanticException [Error 10001]: Line 1:27 Table not found 'dual'
hive> desc t1;
OK
id                   string                                  
name                 string                                  
Time taken: 0.085 seconds, Fetched: 2 row(s)
hive> select  ToLower("DDDDg")  from t1;
OK
Time taken: 0.078 seconds
hive> select  ToLower(name)  from t1;
OK
Time taken: 0.063 seconds
hive> add jar /home/wangshumin/hive/ToLower.jar
    > add jar /home/wangshumin/hive/ToLower.jar;
add does not exist
Query returned non-zero code: 1, cause: add does not exist
hive> add jar /home/wangshumin/hive/ToLower.jar;
Added [/home/wangshumin/hive/ToLower.jar] to class path
Added resources: [/home/wangshumin/hive/ToLower.jar]
hive> add jar /home/wangshumin/hive/ToLower.jar;
Added [/home/wangshumin/hive/ToLower.jar] to class path
Added resources: [/home/wangshumin/hive/ToLower.jar]
hive> add jar /home/wangshumin/hive/ToLower.jar;
Added [/home/wangshumin/hive/ToLower.jar] to class path
Added resources: [/home/wangshumin/hive/ToLower.jar]
hive> create temporary  function  ToLoweree as "hive.UDF.ToLower"
    > ;
OK
Time taken: 0.007 seconds
hive> create temporary  function  ToLoweree as "hive.UDF.ToLower";
OK
Time taken: 0.006 seconds
hive> select  ToLoweree(name)  from t1;
OK
Time taken: 0.066 seconds
hive> create temporary function tolowercase as "hive.UDF.ToLower"
    > ;
OK
Time taken: 0.005 seconds
hive> select  ToLoweree("")  from t1;
OK
Time taken: 0.063 seconds
hive> add  jar  /home/wangshumin/hive/ToLower.jar;
Added [/home/wangshumin/hive/ToLower.jar] to class path
Added resources: [/home/wangshumin/hive/ToLower.jar]
hive> create temporary function ToLower as "hive.UDF.ToLower" ;
OK
Time taken: 0.012 seconds
hive> select  ToLower("")  from   t1;
    > ;
    > ;
FAILED: ParseException line 1:30 character ';' not supported here
line 2:0 character ';' not supported here
hive> select  ToLower("")  from   t1;
OK
Time taken: 0.105 seconds
hive> select  ToLower("ddddFFF")  from   t1;
OK
Time taken: 0.071 seconds
hive> add  jar  /home/wangshumin/hive/ToLower1.jar;
Added [/home/wangshumin/hive/ToLower1.jar] to class path
Added resources: [/home/wangshumin/hive/ToLower1.jar]
hive> create temporary function ToLower1 as "hive.UDF.ToLower" ;
OK
Time taken: 0.006 seconds
hive> select * from  t1 ;
OK
Time taken: 0.063 seconds

hive>  insert into t1 (id,name) values ( 2,"joker" );
Query ID = wangshumin_20180320191440_fe1ae827-57f1-4d93-91de-428368b760a9
Total jobs = 3
Launching Job 1 out of 3
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_1521538874183_0004, Tracking URL = http://centoshostnameKL1:8088/proxy/application_1521538874183_0004/
Kill Command = /home/wangshumin/app/hadoop-2.4.1/bin/hadoop job  -kill job_1521538874183_0004
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
2018-03-20 19:15:06,539 Stage-1 map = 0%,  reduce = 0%
2018-03-20 19:15:17,153 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 1.16 sec
MapReduce Total cumulative CPU time: 1 seconds 160 msec
Ended Job = job_1521538874183_0004
Stage-4 is selected by condition resolver.
Stage-3 is filtered out by condition resolver.
Stage-5 is filtered out by condition resolver.
Moving data to: hdfs://centoshostnameKL1:9000/user/hive/warehouse/db1.db/t1/.hive-staging_hive_2018-03-20_19-14-40_197_6479838724087111090-1/-ext-10000
Loading data to table db1.t1
Table db1.t1 stats: [numFiles=1, numRows=3, totalSize=8, rawDataSize=32]
MapReduce Jobs Launched: 
Stage-Stage-1: Map: 1   Cumulative CPU: 1.16 sec   HDFS Read: 3529 HDFS Write: 70 SUCCESS
Total MapReduce CPU Time Spent: 1 seconds 160 msec
OK
Time taken: 38.759 seconds
hive> select * from  t1 ;
OK
2 joker
Time taken: 0.149 seconds, Fetched: 1 row(s)
hive>  insert into t1 (id,name) values ( 1,"joker1" );
Query ID = wangshumin_20180320191537_994c7ae4-80e7-4145-a622-a0de96d7dc19
Total jobs = 3
Launching Job 1 out of 3
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_1521538874183_0005, Tracking URL = http://centoshostnameKL1:8088/proxy/application_1521538874183_0005/
Kill Command = /home/wangshumin/app/hadoop-2.4.1/bin/hadoop job  -kill job_1521538874183_0005
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
2018-03-20 19:15:59,398 Stage-1 map = 0%,  reduce = 0%
2018-03-20 19:16:11,509 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.95 sec
MapReduce Total cumulative CPU time: 950 msec
Ended Job = job_1521538874183_0005
Stage-4 is selected by condition resolver.
Stage-3 is filtered out by condition resolver.
Stage-5 is filtered out by condition resolver.
Moving data to: hdfs://centoshostnameKL1:9000/user/hive/warehouse/db1.db/t1/.hive-staging_hive_2018-03-20_19-15-37_079_1424094808828331594-1/-ext-10000
Loading data to table db1.t1
Table db1.t1 stats: [numFiles=2, numRows=4, totalSize=17, rawDataSize=40]
MapReduce Jobs Launched: 
Stage-Stage-1: Map: 1   Cumulative CPU: 0.95 sec   HDFS Read: 3530 HDFS Write: 71 SUCCESS
Total MapReduce CPU Time Spent: 950 msec
OK
Time taken: 36.2 seconds
hive> select * from  t1 ;
OK
2 joker
1 joker1
Time taken: 0.062 seconds, Fetched: 2 row(s)
hive> select  ToLoweree("ddddFFF")  from   t1;
OK
ddddfff
ddddfff
Time taken: 0.082 seconds, Fetched: 2 row(s)
hive> select  ToLoweree(" ")  from   t1;
OK
 
 
Time taken: 0.062 seconds, Fetched: 2 row(s)
hive> select  ToLoweree()  from   t1;
FAILED: SemanticException [Error 10014]: Line 1:8 Wrong arguments 'ToLoweree': No matching method for class hive.UDF.ToLower with (). Possible choices: _FUNC_(string)  
hive> select  ToLoweree(null)  from   t1;
OK
我是王树民,告诉你的函数参数值为空!
我是王树民,告诉你的函数参数值为空!
Time taken: 0.115 seconds, Fetched: 2 row(s)
hive> select  ToLoweree(null)  from   t1;
OK



14大数据 hive --Hive自定义函数与transform的使用 hive是给了我们很多内置函数的,比如转大小写,截取字符串等,具体的都在官方文档里面。但是并不是所有的函数都能满足我们的需求,所以hive提供了给我们自定义函数的功能。 1、至于怎么测试hive为我们提供的函数 因为mysql或者oracle中都可以使用伪表,但是hive不行,所以可以使用以下方法 1)、创建表dual,create table dual(id string) 2)、在本地创建文件... 阅读详情

相关推荐

Hive 常用函数

1.字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length(‘abcedfg’) from lxw_dual; 7 2. 字符串反转函数:reverse 语法: reverse(string A) 返回值: string 说明:返回字符串A的反转结果 举例: hi...

每天进步一点点儿 2255

Hive自定义函数(字母大小写转换)

自定义Hive的函数,首先需要继承UDF类,然后定义方法名字为evaluate的方法,该方法不能设置void,如果需要返回为空,可以返回为null. 一个简单的大小写转换案例 特别注意看注释 package com.madman.hive.function; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.h...

madman 8863

C/C++库函数(tolower/toupper)实现字母的大小写转换

C/C++库函数(tolower/toupper)实现字母的大小写转换 本文将介绍库函数实现字母的大小写转换,常用到的是在ctype.h(C++中是cctype)库文件下定义的函数方法。首先来看一下C下tolower/toupper函数实现原型: int tolower(int c) { if ((c >= 'A') && (c <= 'Z')) return c +

☃Clay's♂Blogs 10万+

hive学习4:hive自定义函数

以创建转换字符串大小写为例: 1、搭建java项目,把hive安装包下libjar包添加进去。 2、创建转换字符串大小类,必须继承UDF类 package com.zsy.hive.udf; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.hive.ql.exec.UDF; /** * 转换...

每天进步一点 1901

C语言实现tolower函数功能

在主函数中,我们定义了一个字符变量c,并将其初始化为大写字母H。然后调用我们自己实现的tolower_c函数,将其转换为小写字母h,并输出结果。tolower_c函数中首先判断字符c是否为大写字母,如果是,则将其转换为对应的小写字母,否则直接返回原字符。值得注意的是,这仅适用于ASCII编码表。因此,我们可以通过判断字符的ASCII码值是否在大写字母范围内,来实现将大写字母转换为小写字母的功能。总结起来,实现tolower函数功能的关键在于了解ASCII编码表,并根据具体情况进行相应的字符处理和转换。

CodeByte的博客 360

hive add jar报错 does not exist 不要带引号

不要带单引号!! hive> add jar '/abc/def.jar'; -- 报错 '/abc/def.jar' does not exist Query returned non-zero code: 1, cause: '/abc/def.jar' does not exist hive> add jar /abc/def.jar; -- 正确 Added [/abc/def.jar] to class path Added resources: [/abc/def.jar...

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发 2460

hive自定义函数的用法

生产中自定义函数用于公司特有的公式UDF  操作单个数据行,产生单个数据行;1.[hadoop@h91 hhh]$ vi TimeFormat.javaimport java.sql.Date;import java.text.SimpleDateFormat;import org.apache.hadoop.hive.ql.exec.UDF;public class TimeFormat ext...

十色花的博客 1705

[Hive]那些年我们踩过的Hive坑

(1)问题一  首先,采用这个命令: hive -hiveconf hive.root.logger=DEBUG,console 可以查看详细信息然后分析可知,缺少mysql的jar包,下载mysql-connector-java-5.1.32.tar.gz,并进行一下操作。 下一步操作,添加jar包: (2)问题二

SmartSi 3万+

hive自定义函数

生产中自定义函数用于公司特有的公式UDF  操作单个数据行,产生单个数据行;1.[hadoop@h91 hhh]$ vi TimeFormat.javaimport java.sql.Date;import java.text.SimpleDateFormat;import org.apache.hadoop.hive.ql.exec.UDF;public class TimeFormat ext...

十色花的博客 337

SAE J1939协议详解

SAE J1939协议是由美国汽车工程师协会(SAE)制定的主要针对商用车的CAN总线通讯协议,其基础是CAN2.0B协议,面向对象为客车和载重货车;船舶、农业机械等非路面设备。1.SAE J1939协议文档结构如下图:2.CAN的发展概况20世纪80年代,Bosch的工程人员开始研究用于汽车的串行总线系统,1986年, Bosch在SAE(汽车工程师协会)大会上提出了 CAN,1987年,INTEL就推出了第一片CAN控制芯片—82526;随后Philips半导体推出了82C200。

weixin_46184756的博客 8447

基于Python的信用卡欺诈检测机器学习案例报告

当今时代,在线支付已成为一种高效便捷的支付方式,我们可以突破时间和空间的限制,输入我们的信用卡各项信息就可以完成在线支付。但随之而来的是这种支付方式也具备一定的风险性,我们无法辨别对方是否是恶意套取我们资金的非法分子。当信用卡信息数据泄露导致金钱失窃并最终失去客户忠诚度和公司声誉时,组织、消费者、银行和商家都会面临风险。2017 年,未经授权的信用卡操作达到了惊人的 1670 万受害者。此外,据美国联邦贸易委员会 (FTC) 报告,2017 年信用卡欺诈索赔数量比上一年高出 40%。

weixin_45673389的博客 6695

hive 自定义函数(udf)

1.解压hive的压缩包 2.新建java项目,将hive压缩包里面lib文件夹的jar包导入新建的项目 3.编写java程序 package udfdemo; import org.apache.hadoop.hive.ql.exec.UDF; public class ToLower extends UDF{ public String evaluate(St...

weixin_30586085的博客 121

ui(new Ui::MainWindow)的解析

Ui命名空间的变量名,和默认空间的变量名虽然一样,但实际是两个不同的东西。所以构造函数中调用MainWindow是没问题的,因为它不是在调用自身,而是在调用其他命名空间下的另一个同名的MainWindow类。这里使用C++的成员初始化列表语法,初始化成员变量指针ui,可这里有个问题,在MainWindow的构造函数中new 一个MainWindow,这又调用一下MainWindow的构造函数,这岂不是会死循环?ui_mainwindow.h文件。mainwindow.h文件.

sinat_31608641的博客 1194

hive操作udf

1.编写大写字符串转小写 package dyy.hive; import org.apache.hadoop.io.Text; public class ToLowerCase extends UDF { public Text evaluate(Text str){ if(str == null) return null; if(str != n

a280966503的博客 395

SAP公司间外协业务流程以及配置说明

SAP公司间外协业务流程以及配置说明

竹大的博客 7172

从特斯拉到蔚来:拆解主流智能汽车的车联网架构,看它们如何实现‘车、路、云’协同

本文深度解析了特斯拉、蔚来等主流智能汽车的车联网架构,详细拆解了其‘车、路、云’协同的技术实现。从车内网络、车际通信到云端协同,分析了通信技术、系统架构等关键技术选择,揭示了不同厂商如何通过差异化布局构建竞争优势。

weixin_42525289的博客 580

使用tolower()和toupper()函数转换字符串中字符的大小写

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34343689的博客 747

Python爬虫实战:使用最新技术爬取新浪新闻首页数据

本文详细介绍了三种爬取新浪新闻首页的技术方案,从简单的requests-html到强大的Playwright,再到分布式Scrapy架构。小规模爬取:requests-html或aiohttp方案需要JavaScript渲染:Playwright方案大规模分布式爬取:Scrapy-Redis方案。

2201_76125261的博客 1244

toLowerCase(loc)方法使用

package lianxii; import java.util.Locale; public class Local { public static void main(String[] args) { String str = "ThIs Is HaRd"; Locale loc = Locale.getDefault();/...

zhizhong 1173

基于Python的船舶AIS数据爬取与分析:从数据采集到可视化实战

本文详细介绍了如何使用Python构建一个完整的船舶AIS数据爬取与分析系统。文章从AIS系统的基本原理讲起,逐步深入到数据采集、存储、清洗、分析和可视化的全流程。我们将使用最新的Python技术栈,包括aiohttp异步爬虫、MongoDB存储、Pandas数据处理以及Pydeck三维可视化等。本文提供了完整的代码实现,并探讨了在实际应用中可能遇到的问题及其解决方案。关键词:AIS数据、Python爬虫、异步IO、数据可视化、海事分析。

2201_76125261的博客 812

LVGL hal indev(porting evdev)

LVGL中对输入设备的管理是单例实现的,而在Linux的输入设备是多个的,所以需要对其进行改造成多例实现。

Bigan(安)的博客 3346

【图文详细 】Hive 函数、Hive 函数、Hive 函数

1.hive内置函数 1.1、内容较多,见《Hive 官方文档》  https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF   1.2、测试内置函数的快捷方式:   第一种方式:直接使用,例如:select concat('a','a')  

谦卑t 9652

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C语言tolower函数介绍、示例和实现

C语言tolower函数用于把大写字母转换为小写字母。 在本文中,我们先来介绍tolower函数的使用方法,然后编写一个自定义的_tolower函数,实现与tolower函数相同的功能。 1、包含头文件 #include <ctype.h> 2、函数声明 int tolower(int c); 3、功能说明 把大写字母转换为小写字母,如果参数c不是大写字母就不转换,您可能会问:to...

C语言技术网-码农有道 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Hive的基础函数

hive中的字段的别名,英文别名不要使用单引号或者双引号,直接写就行,如果是中文的别名需要添加反引号``6) coalesce(col1,col2,col3...)返回第一个不为空的数据。1)nvl 判断一个数值是否为null,如果为null,给一个默认值。语法:array_contains(数组,值),返回布尔类型。3)get_json_object 从json数据中获取值。4) parse_url 解析一个字符串中的url参数。作用:判断数组是否包含某元素。

Yz9876的博客 639

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C语言大小字母的转换讲解(2种)

大小写字母转换

2301_80288511的博客 523

55项功能重构炉石体验:基于BepInEx的开源游戏增强插件深度解析

在数字卡牌游戏的竞技场中,《炉石传说》以其精致的玩法和丰富的策略性赢得了全球玩家的喜爱。然而,对于技术爱好者和进阶玩家而言,原版游戏的诸多限制——如繁琐的战网启动流程、有限的界面定制选项、以及缺乏深度的性能调优工具——常常成为追求极致游戏体验的障碍。HsMod,这款基于BepInEx框架的开源游戏增强插件,正是为解决这些痛点而生,通过55项精心设计的增强功能,重新定义了《炉石传说》的玩法边界。

gitblog_00692的博客 910
上一篇: Hive 数据仓库
下一篇: HIVE 自定义函数之UDF/UDAF/UDTF
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值