火龙果软件hive函数大全.docx
- 文档编号:9497719
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:52
- 大小:31.09KB
火龙果软件hive函数大全.docx
《火龙果软件hive函数大全.docx》由会员分享,可在线阅读,更多相关《火龙果软件hive函数大全.docx(52页珍藏版)》请在冰点文库上搜索。
火龙果软件hive函数大全
目录
一、关系运算:
4
1.等值比较:
=4
2.不等值比较:
<>4
3.小于比较:
<4
4.小于等于比较:
<=4
5.大于比较:
>5
6.大于等于比较:
>=5
7.空值判断:
ISNULL5
8.非空判断:
ISNOTNULL6
9.LIKE比较:
LIKE6
10.JAVA的LIKE操作:
RLIKE6
11.REGEXP操作:
REGEXP7
二、数学运算:
7
1.加法操作:
+7
2.减法操作:
-7
3.乘法操作:
*8
4.除法操作:
/8
5.取余操作:
%8
6.位与操作:
&9
7.位或操作:
|9
8.位异或操作:
^9
9.位取反操作:
~10
三、逻辑运算:
10
1.逻辑与操作:
AND10
2.逻辑或操作:
OR10
3.逻辑非操作:
NOT10
四、数值计算11
1.取整函数:
round11
2.指定精度取整函数:
round11
3.向下取整函数:
floor11
4.向上取整函数:
ceil12
5.向上取整函数:
ceiling12
6.取随机数函数:
rand12
7.自然指数函数:
exp13
8.以10为底对数函数:
log1013
9.以2为底对数函数:
log213
10.对数函数:
log13
11.幂运算函数:
pow14
12.幂运算函数:
power14
13.开平方函数:
sqrt14
14.二进制函数:
bin14
15.十六进制函数:
hex15
16.反转十六进制函数:
unhex15
17.进制转换函数:
conv15
18.绝对值函数:
abs16
19.正取余函数:
pmod16
20.正弦函数:
sin16
21.反正弦函数:
asin16
22.余弦函数:
cos17
23.反余弦函数:
acos17
24.positive函数:
positive17
25.negative函数:
negative17
五、日期函数18
1.UNIX时间戳转日期函数:
from_unixtime18
2.获取当前UNIX时间戳函数:
unix_timestamp18
3.日期转UNIX时间戳函数:
unix_timestamp18
4.指定格式日期转UNIX时间戳函数:
unix_timestamp18
5.日期时间转日期函数:
to_date19
6.日期转年函数:
year19
7.日期转月函数:
month19
8.日期转天函数:
day19
9.日期转小时函数:
hour20
10.日期转分钟函数:
minute20
11.日期转秒函数:
second20
12.日期转周函数:
weekofyear20
13.日期比较函数:
datediff21
14.日期增加函数:
date_add21
15.日期减少函数:
date_sub21
六、条件函数21
1.If函数:
if21
2.非空查找函数:
COALESCE22
3.条件判断函数:
CASE22
4.条件判断函数:
CASE22
七、字符串函数23
1.字符串长度函数:
length23
2.字符串反转函数:
reverse23
3.字符串连接函数:
concat23
4.带分隔符字符串连接函数:
concat_ws23
5.字符串截取函数:
substr,substring24
6.字符串截取函数:
substr,substring24
7.字符串转大写函数:
upper,ucase24
8.字符串转小写函数:
lower,lcase25
9.去空格函数:
trim25
10.左边去空格函数:
ltrim25
11.右边去空格函数:
rtrim25
12.正则表达式替换函数:
regexp_replace26
13.正则表达式解析函数:
regexp_extract26
14.URL解析函数:
parse_url26
15.json解析函数:
get_json_object27
16.空格字符串函数:
space27
17.重复字符串函数:
repeat27
18.首字符ascii函数:
ascii28
19.左补足函数:
lpad28
20.右补足函数:
rpad28
21.分割字符串函数:
split28
22.集合查找函数:
find_in_set29
八、集合统计函数29
1.个数统计函数:
count29
2.总和统计函数:
sum29
3.平均值统计函数:
avg30
4.最小值统计函数:
min30
5.最大值统计函数:
max30
6.非空集合总体变量函数:
var_pop30
7.非空集合样本变量函数:
var_samp31
8.总体标准偏离函数:
stddev_pop31
9.样本标准偏离函数:
stddev_samp31
10.中位数函数:
percentile31
11.中位数函数:
percentile31
12.近似中位数函数:
percentile_approx32
13.近似中位数函数:
percentile_approx32
14.直方图:
histogram_numeric32
九、复合类型构建操作32
1.Map类型构建:
map32
2.Struct类型构建:
struct33
3.array类型构建:
array33
十、复杂类型访问操作33
1.array类型访问:
A[n]33
2.map类型访问:
M[key]34
3.struct类型访问:
S.x34
十一、复杂类型长度统计函数34
1.Map类型长度函数:
size(Map
2.array类型长度函数:
size(Array
3.类型转换函数35
十二、join,group,order,distribute,常用函数...........................................................................35
一、关系运算:
1.等值比较:
=
语法:
A=B
操作类型:
所有基本类型
描述:
如果表达式A与表达式B相等,则为TRUE;否则为FALSE
举例:
hive>select1fromlxw_dualwhere1=1;
1
2.不等值比较:
<>
语法:
A<>B
操作类型:
所有基本类型
描述:
如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则为FALSE
举例:
hive>select1fromlxw_dualwhere1<>2;
1
3.小于比较:
<
语法:
A
操作类型:
所有基本类型
描述:
如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于表达式B,则为TRUE;否则为FALSE
举例:
hive>select1fromlxw_dualwhere1<2;
1
4.小于等于比较:
<=
语法:
A<=B
操作类型:
所有基本类型
描述:
如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于或者等于表达式B,则为TRUE;否则为FALSE
举例:
hive>select1fromlxw_dualwhere1<=1;
1
5.大于比较:
>
语法:
A>B
操作类型:
所有基本类型
描述:
如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于表达式B,则为TRUE;否则为FALSE
举例:
hive>select1fromlxw_dualwhere2>1;
1
6.大于等于比较:
>=
语法:
A>=B
操作类型:
所有基本类型
描述:
如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于或者等于表达式B,则为TRUE;否则为FALSE
举例:
hive>select1fromlxw_dualwhere1>=1;
1
注意:
String的比较要注意(常用的时间比较可以先to_date之后再比较)
hive>select*fromlxw_dual;
OK
201111120900:
00:
002011111209
hive>selecta,b,ab,a=bfromlxw_dual;
201111120900:
00:
002011111209falsetruefalse
7.空值判断:
ISNULL
语法:
AISNULL
操作类型:
所有类型
描述:
如果表达式A的值为NULL,则为TRUE;否则为FALSE
举例:
hive>select1fromlxw_dualwherenullisnull;
1
8.非空判断:
ISNOTNULL
语法:
AISNOTNULL
操作类型:
所有类型
描述:
如果表达式A的值为NULL,则为FALSE;否则为TRUE
举例:
hive>select1fromlxw_dualwhere1isnotnull;
1
9.LIKE比较:
LIKE
语法:
ALIKEB
操作类型:
strings
描述:
如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B的正则语法,则为TRUE;否则为FALSE。
B中字符”_”表示任意单个字符,而字符”%”表示任意数量的字符。
举例:
hive>select1fromlxw_dualwhere'football'like'foot%';
1
hive>select1fromlxw_dualwhere'football'like'foot____';
1
注意:
否定比较时候用NOTALIKEB
hive>select1fromlxw_dualwhereNOT'football'like'fff%';
1
10.JAVA的LIKE操作:
RLIKE
语法:
ARLIKEB
操作类型:
strings
描述:
如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合JAVA正则表达式B的正则语法,则为TRUE;否则为FALSE。
举例:
hive>select1fromlxw_dualwhere'footbar’rlike'^f.*r$’;
1
注意:
判断一个字符串是否全为数字:
hive>select1fromlxw_dualwhere'123456'rlike'^\\d+$';
1
hive>select1fromlxw_dualwhere'123456aa'rlike'^\\d+$';
11.REGEXP操作:
REGEXP
语法:
AREGEXPB
操作类型:
strings
描述:
功能与RLIKE相同
举例:
hive>select1fromlxw_dualwhere'footbar'REGEXP'^f.*r$';
1
二、数学运算:
1.加法操作:
+
语法:
A+B
操作类型:
所有数值类型
说明:
返回A与B相加的结果。
结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
比如,int+int一般结果为int类型,而int+double一般结果为double类型
举例:
hive>select1+9fromlxw_dual;
10
hive>createtablelxw_dualasselect1+1.2fromlxw_dual;
hive>describelxw_dual;
_c0double
2.减法操作:
-
语法:
A–B
操作类型:
所有数值类型
说明:
返回A与B相减的结果。
结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
比如,int–int一般结果为int类型,而int–double一般结果为double类型
举例:
hive>select10–5fromlxw_dual;
5
hive>createtablelxw_dualasselect5.6–4fromlxw_dual;
hive>describelxw_dual;
_c0double
3.乘法操作:
*
语法:
A*B
操作类型:
所有数值类型
说明:
返回A与B相乘的结果。
结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
注意,如果A乘以B的结果超过默认结果类型的数值范围,则需要通过cast将结果转换成范围更大的数值类型
举例:
hive>select40*5fromlxw_dual;
200
4.除法操作:
/
语法:
A/B
操作类型:
所有数值类型
说明:
返回A除以B的结果。
结果的数值类型为double
举例:
hive>select40/5fromlxw_dual;
8.0
注意:
hive中最高精度的数据类型是double,只精确到小数点后16位,在做除法运算的时候要特别注意
hive>selectceil(28.0/6.999999999999999999999)fromlxw_duallimit1;
结果为4
hive>selectceil(28.0/6.99999999999999)fromlxw_duallimit1;
结果为5
5.取余操作:
%
语法:
A%B
操作类型:
所有数值类型
说明:
返回A除以B的余数。
结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
举例:
hive>select41%5fromlxw_dual;
1
hive>select8.4%4fromlxw_dual;
0.40000000000000036
注意:
精度在hive中是个很大的问题,类似这样的操作最好通过round指定精度
hive>selectround(8.4%4,2)fromlxw_dual;
0.4
6.位与操作:
&
语法:
A&B
操作类型:
所有数值类型
说明:
返回A和B按位进行与操作的结果。
结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
举例:
hive>select4&8fromlxw_dual;
0
hive>select6&4fromlxw_dual;
4
7.位或操作:
|
语法:
A|B
操作类型:
所有数值类型
说明:
返回A和B按位进行或操作的结果。
结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
举例:
hive>select4|8fromlxw_dual;
12
hive>select6|8fromlxw_dual;
14
8.位异或操作:
^
语法:
A^B
操作类型:
所有数值类型
说明:
返回A和B按位进行异或操作的结果。
结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。
举例:
hive>select4^8fromlxw_dual;
12
hive>select6^4fromlxw_dual;
2
9.位取反操作:
~
语法:
~A
操作类型:
所有数值类型
说明:
返回A按位取反操作的结果。
结果的数值类型等于A的类型。
举例:
hive>select~6fromlxw_dual;
-7
hive>select~4fromlxw_dual;
-5
三、逻辑运算:
1.逻辑与操作:
AND
语法:
AANDB
操作类型:
boolean
说明:
如果A和B均为TRUE,则为TRUE;否则为FALSE。
如果A为NULL或B为NULL,则为NULL
举例:
hive>select1fromlxw_dualwhere1=1and2=2;
1
2.逻辑或操作:
OR
语法:
AORB
操作类型:
boolean
说明:
如果A为TRUE,或者B为TRUE,或者A和B均为TRUE,则为TRUE;否则为FALSE
举例:
hive>select1fromlxw_dualwhere1=2or2=2;
1
3.逻辑非操作:
NOT
语法:
NOTA
操作类型:
boolean
说明:
如果A为FALSE,或者A为NULL,则为TRUE;否则为FALSE
举例:
hive>select1fromlxw_dualwherenot1=2;
1
四、数值计算
1.取整函数:
round
语法:
round(doublea)
返回值:
BIGINT
说明:
返回double类型的整数值部分(遵循四舍五入)
举例:
hive>selectround(3.1415926)fromlxw_dual;
3
hive>selectround(3.5)fromlxw_dual;
4
hive>createtablelxw_dualasselectround(9542.158)fromlxw_dual;
hive>describelxw_dual;
_c0bigint
2.指定精度取整函数:
round
语法:
round(doublea,intd)
返回值:
DOUBLE
说明:
返回指定精度d的double类型
举例:
hive>selectround(3.1415926,4)fromlxw_dual;
3.1416
3.向下取整函数:
floor
语法:
floor(doublea)
返回值:
BIGINT
说明:
返回等于或者小于该double变量的最大的整数
举例:
hive>selectfloor(3.1415926)fromlxw_dual;
3
hive>selectfloor(25)fromlxw_dual;
25
4.向上取整函数:
ceil
语法:
ceil(doublea)
返回值:
BIGINT
说明:
返回等于或者大于该double变量的最小的整数
举例:
hive>selectceil(3.1415926)fromlxw_dual;
4
hive>selectceil(46)fromlxw_dual;
46
5.向上取整函数:
ceiling
语法:
ceiling(doublea)
返回值:
BIGINT
说明:
与ceil功能相同
举例:
hive>selectceiling(3.1415926)fromlxw_dual;
4
hive>selectceiling(46)fromlxw_dual;
46
6.取随机数函数:
rand
语法:
rand(),rand(intseed)
返回值:
double
说明:
返回一个0到1范围内的随机数。
如果指定种子seed,则会等到一个稳定的随机数序列
举例:
hive>selectrand()fromlxw_dual;
0.5577432776034763
hive>selectrand()fromlxw_dual;
0.6638336467363424
hive>selectrand(100)fromlxw_dual;
0.7220096548596434
hive>selectrand(100)fromlxw_dual;
0.7220096548596434
7.自然指数函数:
exp
语法:
exp(doublea)
返回值:
double
说明:
返回自然对数e的a次方
举例:
hive>selectexp
(2)fromlxw_dual;
7.38905609893065
自然对数函数:
ln
语法:
ln(doublea)
返回值:
double
说明:
返回a的自然对数
举例:
hive>selectln(7.38905609893065)fromlxw_dual;
2.0
8.以10为底对数函数:
log10
语法:
log10(doublea)
返回值:
double
说明:
返回以10为底的a的对数
举例:
hive>selectlog10(100)fromlxw_dual;
2.0
9.以2为底对数函数:
log2
语法:
log2(doublea)
返回值:
double
说明:
返回以2为底的a的对数
举例:
hive>selectlog2(8)fromlxw_dual;
3.0
10.对数函数:
log
语法:
log(doublebase,doublea)
返回值:
double
说明:
返回以base为底的a的对数
举例:
hive>selectlog(4,256)fromlxw_dual;
4.0
11.幂运算函数:
pow
语法:
pow(doublea,doublep)
返回值:
double
说明:
返回a的p次幂
举例:
hive>selectpow(2,4)fromlxw_dual;
16.0
12.幂运算函数:
power
语法:
power(doublea,doublep)
返回值:
double
说明:
返回a的p次幂,与pow功能相同
举例:
hive>selectpower(2,4)fromlxw_dual;
16.0
13.开平方函数:
sqrt
语法:
sqrt(doublea)
返回值:
double
说明:
返回a的平方根
举例:
hive>selectsqrt(16)fromlxw_dual;
4.0
14.二进制函数:
bin
语法:
bin(BIGINTa)
返回值:
string
说明:
返回a的二进制代码表示
举例:
hive>selectbin(7)fromlxw_dual;
111
15.十六进制函数:
hex
语法:
hex(BIGINTa)
返回值:
string
说明:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 火龙果 软件 hive 函数 大全
![提示](https://static.bingdoc.com/images/bang_tan.gif)