hive内置函数大全
======================================
一、关系函数
1.等值比較:=
语法:A=B
操作类型:全部基本类型
2.不等值比較:<>
语法:A<>B
操作类型:全部基本类型
3.小于比較:<
语法:A<B
操作类型:全部基本类型
4.空值推断:IS NULL
语法:a is null
操作类型:全部类型
5.非空推断:IS NOT NULL
语法:a is not null
操作类型:全部基本类型
6.LIKE比較:LIKE
语法:A LIKE B
操作类型:strings
7.JAVA的LIKE操作:RLIKE
语法:A RLIKE B
操作类型:strings
描写叙述:假设字符串A或者字符串B为NULL。则返回NULL;假设字符串符合
JAVA正則表達式B的正则语法,则为TRUE,否则为FALSE。
8.REGEXP操作:REGEXP
语法:A REGEXP B
操作类型:strings
描写叙述:功能与RLIKE同样
二、数学运算
1.加法操作:+
语法:A+B
操作类型:全部数值类型
2.减法操作:-
语法:A-B
操作类型:全部数值类型
3.取余操作:%
语法:A%B
操作类型:全部数值类型
4.位与操作:&
语法:A&B
操作类型:全部数值类型
5.位或操作:|
语法:A|B
操作类型:全部数值类型
6.位异或操作:^
语法:A^B
操作类型:全部数值类型
说明:返回A和B按位进行异或操作的结果。结果的数值类型等于A的类型
和B的类型的最小父类型。
举例:
hive>select 4^8 from sun_test;
12
hive>select 6^4 from sun_test;
2
7.位取反操作:~
语法:~A
操作类型:全部数值类型
三、逻辑运算
1.逻辑与操作:AND
语法:A AND B
操作类型:boolean
2.逻辑或操作:OR
语法:A OR B
操作类型:boolean
3.逻辑非操作:NOT
语法:NOT A
操作类型:boolean
四、数值计算
1.取整函数:round
语法:round(double a)
返回值:BIGINT
说明:返回double类型的整数值部分(遵循四舍五入)
举例:
hive>select round(3.14) from sun_test;
3
hive>select round(3.23456,3) from sun_test;
3.234
2.向下取整函数:floor
说明:返回等于或者小于该double变量的最大的整数
hive>select floor(3.56) from sun_test;
3
3.向上取整函数:cel=il/ceiling
说明:返回等于或者大于该double变量的最小的整数
hive>select ceil(3.123) from sun_test;
4
4.取随机数函数:rand
说明:返回一个0到1范围内的随机数。
hive>select rand() from sun_test;
0.43253251532532
5.自然指数函数exp
说明:返回自然对数e的a次方
hive>select exp(2) from sun_test;
7.38905609893065
6.以10为底对数函数:log10
语法:log10(100)=2.0
7.幂运算函数:pow/power
语法:pow(2,3)=8
8.开平方函数:sqrt
语法:sqrt(16)=4
9.十六进制函数:hex
语法:hex(BIGINT a)
说明:假设变量时int类型。那么返回a的16进制表示;假设变量时string类型,
则返回该字符串的10进制表示
hive>select hex(17) from sun_test;
hive>select hex('abc') from sun_test;
10.进制转换函数:conv
conv(17,10,16)=11
conv(17,10,2)=10001
11.绝对值函数:abs
conv(-3.3)=3.3
五、字符串函数
1.字符串长度函数:length
length('acbfa')=5
2.字符串反转函数:reverse
reverse('abcde')=edcba
3.字符串链接函数:concat
concat('aa','bb','cc')=aabbcc
4.带分隔符字符串连接函数:concat_ws
concat_ws(',','aaa','bbb','ccc')=aaa,bbb,ccc
5.字符串截取函数:substr,substring
substr('abcde',3)=cde
substr('abcde',-1)=e
substr('abcde',-2,2)=de
substr('abcde',3,2)=cd
6.字符串转大写函数:upper,ucase
7.字符串转小写函数:lower,lcase
8.去空格函数:trim()、ltrim()、rtrim()
9.正則表達式替换函数:regexp_replace
regexp_replace('foobar','oo|ar','')=fb
10.正則表達式解析函数:regexp_extract
语法: regexp_extract(string subject, string pattern, int index)
返回值: string
说明:将字符串subject依照pattern正則表達式的规则拆分,返回index指定的字符。
举例:
hive> select regexp_extract('foothebar', 'foo(.*?
)(bar)',
1) fromlxw_dual;
the
hive> select regexp_extract('foothebar', 'foo(.*?)(bar)', 2) fromlxw_dual;
bar
hive> select regexp_extract('foothebar', 'foo(.*?
)(bar)', 0) fromlxw_dual;
foothebar
注意。在有些情况下要使用转义字符,以下的等号要用双竖线转义,这是java正則表達式的规则。
select data_field,
regexp_extract(data_field,'.*?bgStart\\=([^&]+)',1) as aaa,
regexp_extract(data_field,'.*?contentLoaded_headStart\\=([^&]+)',1) as bbb,
regexp_extract(data_field,'.*?AppLoad2Req\\=([^&]+)',1) as ccc
from pt_nginx_loginlog_st
where pt = '2012-03-26'limit 2;
14. URL解析函数:parse_url
语法: parse_url(string urlString, string partToExtract [, stringkeyToExtract])
返回值: string
说明:返回URL中指定的部分。
partToExtract的有效值为:HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, and USERINFO.
举例:
hive> selectparse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST') fromlxw_dual;
facebook.com
hive> selectparse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'QUERY','k1') from lxw_dual;
v1
15. json解析函数:get_json_object
语法: get_json_object(string json_string, string path)
返回值: string
说明:解析json的字符串json_string,返回path指定的内容。假设输入的json字符串无效,那么返回NULL。
举例:
hive> select get_json_object('{"store":
> {"fruit":\[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],
> "bicycle":{"price":19.95,"color":"red"}
> },
> "email":"amy@only_for_json_udf_test.net",
> "owner":"amy"
> }
> ','$.owner') from lxw_dual;
amy
六、其他
1.切割字符串函数:split
2.个数统计函数:count
3.总和统计函数:sum
4.平均值统计函数:avg
5.最小值统计函数:min
6.最大值统计函数:max
7.类型转换函数:cast
版权声明:本文博主原创文章,博客,未经同意不得转载。
hive内置函数大全的更多相关文章
- Orace内置函数大全[转:http://www.cnblogs.com/lfx0692/articles/2395950.html]
NewProgramer Oracle SQL 内置函数大全(转) SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数;SQL> select ascii('A') A,a ...
- python3内置函数大全(顺序排列)
python3内置函数大全 内置函数 (1)abs(), 绝对值或复数的模 1 print(abs(-6))#>>>>6 (2)all() 接受一个迭代器,如果迭代器的所有 ...
- python内置函数大全(分类)
python内置函数大全 python内建函数 最近一直在看python的document,打算在基础方面重点看一下python的keyword.Build-in Function.Build-in ...
- mysql 内置函数大全 mysql内置函数大全
mysql 内置函数大全 2013年01月15日 19:02:03 阅读数:4698 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代 ...
- [转] Hive 内置函数
原文见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF 1.内置运算符1.1关系运算符 运算符 类型 说明 A ...
- Python 集合内置函数大全(非常全!)
Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员 s ...
- Hive内置函数和自定义函数的使用
一.内置函数的使用 查看当前hive版本支持的所有内置函数 show function; 查看某个函数的使用方法及作用,比如查看upper函数 desc function upper; 查看upper ...
- Hive 内置函数
原文见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF 1.内置运算符1.1关系运算符 运算符 类型 说明 A ...
- (MariaDB)MySQL内置函数大全
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
随机推荐
- iOS得知1_初体验
UIView:父类的所有控件,所有的UIView它是一个容器.可容纳其他UIView UIController:用于控制UIView,责创建/销毁自己的UIView,显示/隐藏UIView.处理UIV ...
- Codeforces 61E Enemy is weak 乞讨i<j<k && a[i]>a[j]>a[k] 对数的 树阵
主题链接:点击打开链接 意大利正在寻求称号 i<j<k && a[i]>a[j]>a[k] 的对数 假设仅仅有2元组那就是求逆序数的做法 三元组的话就用一个树状 ...
- getline与get函数的区别
get()函数相对getline来说使用方法要灵活的多了. 1. int get()是指从流中抽取单个字符并返回,这个是没有參数的形式.由于c++不像c语言使用getchar() 2.istrea ...
- 《JavaScript设计模式与开发实践》读书笔记之命令模式
1.命令模式 1.1 传统的命令模式 命令模式的应用场景:请求的发送者和请求接收者消除彼此耦合关系 以页面点击按钮为例 点击按钮后,借助命令对象,解开按钮和负责具体行为对象之间的耦合 <body ...
- CF 439D(251D题)Devu and his Brother
Devu and his Brother time limit per test 1 second memory limit per test 256 megabytes input standard ...
- hdu4585 & BestCoder Round #1 项目管理(vector应用)
主题链接:pid=4858">http://acm.hdu.edu.cn/showproblem.php?pid=4858 项目管理 Time Limit: 2000/1000 MS ...
- App域名劫持之DNS高可用 - 开源版HttpDNS方案详解(转)
http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209805123&idx=1&sn=ced8d67c3e2cc3 ...
- 关于Core Location-ios定位
IOS中的core location提供了定位功能,能定位装置的当前坐标,同一时候能得到装置移动信息.由于对定位装置的轮询是非常耗电的,所以最好仅仅在非常必要的前提下启动. 当中,最重要的类是CLLo ...
- 将 Android* x86 NDK 供 Eclipse* 而移植 NDK 演示示例应用程序
目标 面向 Eclipse (ADT) 的 Android 插件如今支持基于 NDK 的应用开发. 其可自己主动生成项目和构件文件以及代码存根.并可集成到整个 Android 应用开发中(构建原生库. ...
- 为什么android你用的越多,速度较慢的手机
依据第三方的调研数据显示,有 77% 的 Android 手机用户承认自己曾遭遇过手机变慢的影响,百度搜索"Android+ 卡慢",也有超过 460 万条结果. 在业内.Andr ...