🔧 Hive函数大全

更多大数据学习资料请关注公众号“大数据领航员"免费领取
一、数学函数
1、取整函数: round
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
round(double a) |
返回double类型的整数值部分(遵循四舍五入) |
2.例程
hive> select round(10.235);
#----
10.0
#----
2、指定精度取整函数: round
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
round(double a, int d) |
返回指定精度d的double类型 |
2.例程
hive> select round(3.141592,4);
#-----
3.1416
#-----
3、向下取整函数: floor
1.函数描述
返回值 |
语法结构 |
功能描述 |
bigint |
floor(double a) |
返回等于或者小于该double变量的最大的整数 |
2.例程
hive> select floor(3.1415926);
#--
3
#--
hive> select floor(-10.2);
#--
-11
#--
4、向上取整函数: ceil
1.函数描述
返回值 |
语法结构 |
功能描述 |
bigint |
ceil(double a) |
返回等于或者大于该double变量的最小的整数 |
2.例程
hive> select ceil(10.1);
#--
11
#--
5、向上取整函数: ceiling
1.函数描述
返回值 |
语法结构 |
功能描述 |
bigint |
ceiling(double a) |
返回等于或者大于该double变量的最小的整数 |
2.例程
hive> select ceiling(3.1415926);
#--
4
#--
6、取随机数函数: rand
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
rand(),rand(int seed) |
返回一个double型0到1范围内的随机数。如果指定种子seed,则会等到一个稳定的随机数序列 |
2.例程
hive> select rand();
#-----------------
0.5577432776034763
#-----------------
hive> select rand();
#-----------------
0.6638336467363424
#-----------------
#当传入种子后,数据就固定了
hive> select rand(100);
#-----------------
0.7220096548596434
#-----------------
hive> select rand(100);
#-----------------
0.7220096548596434
#-----------------
7、自然指数函数: exp
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
exp(double a) |
返回自然对数e的a次方,a可为小数 |
2.例程
hive> select exp(3);
#-----------------
20.085536923187668
#-----------------
8、自然对数函数: ln
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
ln(double a) |
返回a的自然对数,a可为小数 |
2.例程
hive> select ln(7.38905609893065);
#--
2.0
#--
9、以10为底对数函数: log10
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
log10(double a) |
返回以10为底的a的对数,a可为小数 |
2.例程
hive> select log10(100);
#--
2.0
#--
10、以2为底对数函数: log2
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
log2(double a) |
返回以2为底的a的对数,a可为小数 |
2.例程
hive> select log2(8);
#--
3.0
#--
11、对数函数: log
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
log(double base, double a) |
返回以base为底的a的对数,base 与 a都是double类型 |
2.例程
hive> select log(4,256);
#--
4.0
#--
12、幂运算函数: pow
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
pow(double a, double p), power(double a, double p) |
返回a的p次幂 |
2.例程
hive> select pow(2,4);
#---
16.0
#---
13、开平方函数: sqrt
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
sqrt(double a) |
返回a的平方根 |
2.例程
hive> select sqrt(16);
#--
4.0
#--
14、 二进制函数: bin
1.函数描述
返回值 |
语法结构 |
功能描述 |
string |
bin(BIGINT a) |
返回a的二进制代码表示,,a为BIGINT类型 |
2.例程
hive> select bin(7);
#--
111
#--
15、十六进制函数: hex
1.函数描述
返回值 |
语法结构 |
功能描述 |
string |
hex(BIGINT a),hex(string a) |
如果变量是int类型,那么返回a的十六进制表示;如果变量是string类型,则返回该字符串的十六进制表示 |
2.例程
hive> select hex(17);
#--
11
#--
hive> select hex(‘abc’);
#-----
616263
#-----
16、反转十六进制函数: unhex
1.函数描述
返回值 |
语法结构 |
功能描述 |
string |
unhex(string a) |
返回该十六进制字符串所代码的字符串,hex的逆方法 |
2.例程
hive> select unhex(‘616263’);
#--
abc
#--
17、进制转换函数: conv
1.函数描述
返回值 |
语法结构 |
功能描述 |
string |
conv(BIGINT num, int from_base, int to_base),conv(STRING num, int from_base, int to_base) |
将bigint/string数值num从from_base进制转化到to_base进制 |
2.例程
hive> select conv(17,10,16);
#--
11
#--
hive> select conv(17,10,2);
#----
10001
#----
18、绝对值函数: abs
1.函数描述
返回值 |
语法描述 |
功能描述 |
double or int |
abs(double a),abs(int a) |
返回数值a的绝对值 |
2.例程
hive> select abs(-3.9);
#--
3.9
#--
19、正取余函数: pmod
1.函数描述
返回值 |
语法描述 |
功能描述 |
int or double |
pmod(int a, int b),pmod(double a, double b) |
返回正的a除以b的余数 |
2.例程
hive> select pmod(9,4);
#--
1
#--
hive> select pmod(-9,4);
#--
3
#--
20、正弦函数: sin
1.函数描述
返回值 |
语法描述 |
功能描述 |
double |
sin(double a) |
返回a的正弦值 |
2.例程
hive> select sin(0.8);
#-----------------
0.7173560908995228
#-----------------
21、反正弦函数: asin
1.函数描述
返回值 |
语法描述 |
功能描述 |
double |
asin(double a) |
返回a的反正弦值 |
2.例程
hive> select asin(0.7173560908995228);
#--
0.8
#--
22、余弦函数: cos
1.函数描述
返回值 |
语法描述 |
功能描述 |
double |
cos(double a) |
返回a的余弦值 |
2.例程
hive> select cos(0.9);
#-----------------
0.6216099682706644
#-----------------
23、反余弦函数: acos
1.函数描述
返回值 |
语法描述 |
功能描述 |
double |
acos(double a) |
返回a的反余弦值 |
2.例程
hive> select acos(0.6216099682706644);
#--
0.9
#--
24、正切函数:tan
1.函数描述
返回值 |
语法描述 |
功能描述 |
double |
tan(double a) |
返回a的正切值 |
2.例程
hive> select tan(0.8);
#-----------------
1.0296385570503641
#-----------------
25、反正切函数:atan
1.函数描述
返回值 |
语法描述 |
功能描述 |
double |
atan(double a) |
返回a的反正切值 |
2.例程
hive> select atan(1.0296385570503641);
#--
0.8
#--
26、弧度值转换角度值:degrees
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
degrees(double a) |
返回a的角度值 |
2.例程
hive> select degrees(1);
#----------------
57.29577951308232
#----------------
27、角度值转换成弧度值:radians
1.函数描述
返回值 |
语法结构 |
功能描述 |
double |
radians(double a) |
返回a的弧度值 |
2.例程
hive> select radians(57.29577951308232);
#--
1.0
#--
28、positive函数: positive
1.函数描述
返回值 |
语法结构 |
功能描述 |
int or double |
positive(int a), positive(double a) |
返回a的正数 |
2.例程
hive> select positive(-10);
#---
10
#---
29、negative函数: negative
1.函数描述
返回值 |
语法结构 |
功能描述 |
int or double |
negative(int a), negative(double a) |
返回a的负数 |
2.例程
hive> select negative(5);
#---
-5
#---
30、判断正负函数:si