======================================

一、关系函数

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内置函数大全的更多相关文章

  1. Orace内置函数大全[转:http://www.cnblogs.com/lfx0692/articles/2395950.html]

    NewProgramer   Oracle SQL 内置函数大全(转) SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数;SQL> select ascii('A') A,a ...

  2. python3内置函数大全(顺序排列)

    python3内置函数大全 内置函数 (1)abs(),   绝对值或复数的模 1 print(abs(-6))#>>>>6 (2)all() 接受一个迭代器,如果迭代器的所有 ...

  3. python内置函数大全(分类)

    python内置函数大全 python内建函数 最近一直在看python的document,打算在基础方面重点看一下python的keyword.Build-in Function.Build-in ...

  4. mysql 内置函数大全 mysql内置函数大全

    mysql 内置函数大全 2013年01月15日 19:02:03 阅读数:4698 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代 ...

  5. [转] Hive 内置函数

    原文见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF 1.内置运算符1.1关系运算符 运算符 类型 说明 A ...

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

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

  7. Hive内置函数和自定义函数的使用

    一.内置函数的使用 查看当前hive版本支持的所有内置函数 show function; 查看某个函数的使用方法及作用,比如查看upper函数 desc function upper; 查看upper ...

  8. Hive 内置函数

    原文见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF 1.内置运算符1.1关系运算符 运算符 类型 说明 A ...

  9. (MariaDB)MySQL内置函数大全

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

随机推荐

  1. Xtext什么

    在Xtext官方网站是这么说的 "Building your own domain-specific languages has never been so easy. Just put y ...

  2. ConditonHelper

    在网上其实已经有很多类似这种拼接sql条件的类,但是没有看到一个让我感觉完全满意的这样的类.最近看到 http://www.cnblogs.com/xtdhb/p/3811956.html 这博客,觉 ...

  3. SVN模型仓库中的资源从一个地方移动到另一个地方的办法(很久才解决)

    弄了很久,想使用domove这个操作,但是都失败了.最后给svnkit的邮箱写了封邮件,他们告诉我这样做就成功了.实际上是使用docopy这个函数实现了move操作.package com.repos ...

  4. poj1849(求树的直径)

    题目链接:http://poj.org/problem?id=1849 题意:有一颗n个结点的带权的无向树, 在s结点放两个机器人, 这两个机器人会把树的每条边都走一遍, 但是最后机器人不要求回到出发 ...

  5. AE+SceneControl源代码共享

    近来的,博友发私信或邮件交换,第一次使用前SceneControl代做一点project股票,做的很粗糙.我们希望对大家有帮助,欢迎留言交流哈萨克斯坦. 除了主开.保存.数据加载.询价,几个功能主要是 ...

  6. 屌丝程序猿赚钱之道之taobao 2

    续上篇,之前写的案例,都是比較0基础的. 案例4:  代写情书.软文.论文等等. 这是我一个同学的真实故事.     我隔壁寝室的小王平时没事就爱谢谢博客.逛逛论坛.大二的时候接触了威客网,開始在网上 ...

  7. 《JavaScript设计模式与开发实践》读书笔记之观察者模式

    1.观察者模式 观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知. JavaScript中通常采用事件模型替代传统的观察者模式 1.1 逐步实现观 ...

  8. Lucene 实例教程(四)之检索方法总结

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者: 永恒の_☆ 地址: http://blog.csdn.net/chenghui031 ...

  9. Python学习入门基础教程(learning Python)--3.1Python的if分支语句

    本节研究一下if分支语句. if分支语句是Python下逻辑条件控制语句,用于条件执行某些语句的控制操作,当if后的条件conditon满足时,if其下的语句块被执行,但当if的控制条件condito ...

  10. cocos2d 创建一个黑白纹理

    @interface myGrayTexture : CCTexture2D // @param exposure 曝光 +(id) textureWithFile:(NSString*) file ...