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;

11

hive>select hex(‘abc‘) from sun_test;

616263

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":"[email protected]_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

时间: 2024-10-07 20:44:12

hive内置函数大全的相关文章

PLSQL_Oracle PLSQL内置函数大全(概念)

2014-06-20 BaoXinjian PLSQL常用方法大全 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A         a      ZERO     SPACE --------- --------- --------- --------- 65        97        48        32 2.CH

PHP内置函数大全

1 php内置函数大全 2 第2章 Apache函数 15 3 2.1 Apache信息获取类函数 15 4 2.1.1 apache_child_terminate函数:在本次请求结束后终止Apache进程 15 5 2.1.2 apache_get_modules函数:获取Apache的模块列表 16 6 2.1.3 apache_get_version函数:获取Apache的版本 16 7 2.1.4 apache_getenv函数:获取Apache的环境变量 17 8 2.1.5 apa

[转] Hive 内置函数

原文见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF 1.内置运算符1.1关系运算符 运算符 类型 说明 A = B                                              所有原始类型                  如果A与B相等,返回TRUE,否则返回FALSE A == B 无 失败,因为无效的语法. SQL使用”=”,不使用”==”. A <> B 所有原始类

Hive内置函数

本文介绍了在Hive中可用的内置函数.这些函数看起来非常类似于SQL的函数,除了他们的使用有点不一样. 内置函数 Hive支持以下内置函数: 返回类型 签名 描述 BIGINT round(double a) 返回BIGINT最近的double值. BIGINT floor(double a) 返回最大BIGINT值等于或小于double. BIGINT ceil(double a) 它返回最小BIGINT值等于或大于double. double rand(), rand(int seed) 它

Python 集合内置函数大全(非常全!)

Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员   s < t 子集测试(严格意义上):s != t 而且 s 中所有的元素都是 t 的成员 s.issuperset(t) s >= t 超集测试(允许不严格意义上的超集):t 中所有的元素都是 s 的成员   s > t 超集测试(严格意义上):s != t 而且 t 中所有的元素都是 s 的成

Hive 内置函数

原文见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF 1.内置运算符1.1关系运算符 运算符 类型 说明 A = B                                              所有原始类型                  如果A与B相等,返回TRUE,否则返回FALSE A == B 无 失败,因为无效的语法. SQL使用”=”,不使用”==”. A <> B 所有原始类

Pyhton内置函数大全

一.数学运算类 abs(x)求绝对值 1.参数可以是整型,也可以是复数 2.若参数是复数,则返回复数的模 complex([real[, imag]])  创建一个复数 coerce()   可以看成一个数值类型转换函数)有两个参数,都是数字,返回这两个数字的一个列表,将这两个数字的数据类型统一.如coerce(1,2j),返回(1+0j,2j) divmod(a, b)分别取商和余数 注意:整型.浮点型都可以 float([x])将一个字符串或数转换为浮点数.如果无参数将返回0.0 int([

python3 内置函数大全

一. 简介 python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明:点击查看, 为了方便查看,将内置函数的总结记录下来. 二. 使用说明 以下是Python3版本所有的内置函数: 1. abs() 获取绝对值 1 >>> abs(-10) 2 10 3 >>> abs(10) 4 10 5 >>> abs(0) 6 0 7 >>> a = -10 8 >>> a.__abs__() 9

hive内置函数详解

内置函数2.1数学函数 返回类型 函数 说明 BIGINT round(double a) 四舍五入 DOUBLE round(double a, int d) 小数部分d位之后数字四舍五入,例如round(21.263,2),返回21.26 BIGINT floor(double a) 对给定数据进行向下舍入最接近的整数.例如floor(21.2),返回21. BIGINT ceil(double a), ceiling(double a) 将参数向上舍入为最接近的整数.例如ceil(21.2