Hive常⽤函数--数值计算
1. 取整函数: round
语法: round(double a)
返回值: BIGINT
说明: 返回double类型的整数值部分 (遵循四舍五⼊)
hive>select round(3.1415926)from iteblog;
3
hive>select round(3.5)from iteblog;
4
hive>create table iteblog as select round(9542.158)from iteblog;
hive>describe iteblog;
_c0    bigint
2. 指定精度取整函数: round
语法: round(double a, int d)
返回值: DOUBLE
说明: 返回指定精度d的double类型
hive>select round(3.1415926,4)from iteblog;
3.1416
3. 向下取整函数: floor
语法: floor(double a)
返回值: BIGINT
说明: 返回等于或者⼩于该double变量的最⼤的整数
hive>select floor(3.1415926)from iteblog;
3
hive>select floor(25)from iteblog;
25
4. 向上取整函数: ceil
语法: ceil(double a)
返回值: BIGINT
说明: 返回等于或者⼤于该double变量的最⼩的整数
hive> select ceil(3.1415926) from iteblog;
4
hive> select ceil(46) from iteblog;
46
5. 向上取整函数: ceiling
语法: ceiling(double a)
返回值: BIGINT
说明: 与ceil功能相同
hive>select ceiling(3.1415926)from iteblog;
4
hive>select ceiling(46)from iteblog;
46
6. 取随机数函数: rand
语法: rand(),rand(int seed)
返回值: double
说明: 返回⼀个0到1范围内的随机数。如果指定种⼦seed,则会等到⼀个稳定的随机数序列int函数与round函数
hive>select rand()from iteblog;
0.5577432776034763
hive>select rand()from iteblog;
hive>select rand()from iteblog;
0.6638336467363424
hive>select rand(100)from iteblog;
0.7220096548596434
hive>select rand(100)from iteblog;
0.7220096548596434
7. ⾃然指数函数: exp
语法: exp(double a)
返回值: double
说明: 返回⾃然对数e的a次⽅
hive>select exp(2)from iteblog;
7.38905609893065
⾃然对数函数: ln
语法: ln(double a)
返回值: double
说明: 返回a的⾃然对数
1
hive>select ln(7.38905609893065)from iteblog;
2.0
8. 以10为底对数函数: log10
语法: log10(double a)
返回值: double
说明: 返回以10为底的a的对数
hive>select log10(100)from iteblog;
2.0
9. 以2为底对数函数: log2
语法: log2(double a)
返回值: double
说明: 返回以2为底的a的对数
hive>select log2(8)from iteblog;
3.0
10. 对数函数: log
语法: log(double base, double a)
返回值: double
说明: 返回以base为底的a的对数
hive>select log(4,256)from iteblog;
4.0
11. 幂运算函数: pow
语法: pow(double a, double p)
返回值: double
说明: 返回a的p次幂
hive>select pow(2,4)from iteblog;
16.0
12. 幂运算函数: power
语法: power(double a, double p)
返回值: double
说明: 返回a的p次幂,与pow功能相同
hive>select power(2,4)from iteblog;
16.0
13. 开平⽅函数: sqrt
13. 开平⽅函数: sqrt
语法: sqrt(double a)
返回值: double
说明: 返回a的平⽅根
hive>select sqrt(16)from iteblog;
4.0
14. ⼆进制函数: bin
语法: bin(BIGINT a)
返回值: string
说明: 返回a的⼆进制代码表⽰
hive>select bin(7)from iteblog;
111
15. ⼗六进制函数: hex
语法: hex(BIGINT a)
返回值: string
说明: 如果变量是int类型,那么返回a的⼗六进制表⽰;如果变量是string类型,则返回该字符串的⼗六进制表⽰
hive>select hex(17)from iteblog;
11
hive>select hex(‘abc’)from iteblog;
616263
16. 反转⼗六进制函数: unhex
语法: unhex(string a)
返回值: string
说明: 返回该⼗六进制字符串所代码的字符串
hive>select unhex(‘616263’)from iteblog;
abc
hive>select unhex(‘11’)from iteblog;
-
hive>select unhex(616263)from iteblog;
abc
17. 进制转换函数: conv
语法: conv(BIGINT num, int from_base, int to_base)
返回值: string
说明: 将数值num从from_base进制转化到to_base进制
hive>select conv(17,10,16)from iteblog;
11
hive>select conv(17,10,2)from iteblog;
10001
18. 绝对值函数: abs
语法: abs(double a) abs(int a)
返回值: double int
说明: 返回数值a的绝对值
hive>select abs(-3.9)from iteblog;
3.9
hive>select abs(10.9)from iteblog;
10.9
19. 正取余函数: pmod
语法: pmod(int a, int b),pmod(double a, double b)
返回值: int double
说明: 返回正的a除以b的余数
说明: 返回正的a除以b的余数
hive>select pmod(9,4)from iteblog;
1
hive>select pmod(-9,4)from iteblog;
3
20. 正弦函数: sin
语法: sin(double a)
返回值: double
说明: 返回a的正弦值
hive>select sin(0.8)from iteblog;
0.7173560908995228
21. 反正弦函数: asin
语法: asin(double a)
返回值: double
说明: 返回a的反正弦值
hive>select asin(0.7173560908995228)from iteblog;
0.8
22. 余弦函数: cos
语法: cos(double a)
返回值: double
说明: 返回a的余弦值
hive>select cos(0.9)from iteblog;
0.6216099682706644
23. 反余弦函数: acos
语法: acos(double a)
返回值: double
说明: 返回a的反余弦值
hive>select acos(0.6216099682706644)from iteblog;
0.9
24. positive函数: positive
语法: positive(int a), positive(double a)
返回值: int double
说明: 返回a
hive>select positive(-10)from iteblog;
-10
hive>select positive(12)from iteblog;
12
25. negative函数: negative
语法: negative(int a), negative(double a)
返回值: int double
说明: 返回-a
hive>select negative(-5)from iteblog;
5
hive>select negative(8)from iteblog;
-8

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。