大数据技术架构(组件)9——Hive:数学函数

1.4.2、数学函数

注意:当传入值为NULL的时候,返回值大多数也是NULL

1.4.2.1、abs

作用:返回绝对值

select abs(-1),abs(1);

1.4.2.2、acos-->从Hive0.13.0

作用:如果 -1<=a<=1 或 NULL,则返回 a 的反余弦值。

select acos(0.1),acos(-1),acos(1),acos(-0.6)

1.4.2.3、asin-->从Hive0.13.0

作用:如果 -1<=a<=1 或 NULL,则返回 a 的反正弦。

select asin(0.1),asin(-1),asin(1),asin(-0.6),asin(null);

1.4.2.4、atan-->从Hive0.13.0

select atan(1.1),atan(0.543535)

1.4.2.5、bin

select bin(234234324234);

1.4.2.6、bround-->Hive1.3.0

select bround(2.4),bround(2.5),bround(3.5),bround(3.6554),bround(8.324,2),bround(3.234,1);

1.4.2.7、cbrt-->Hive1.2.0

select cbrt(3.34543);

1.4.2.8、ceil

select ceil(2.234),ceil(2.65),ceil(3.343);

1.4.2.9、conv

select conv(234234,10,2),conv(234234,10,16);

1.4.2.10、cos-->Hive0.13.0

select cos(23.23),cos(60),cos(90),cos(180);

1.4.2.11、degress-->Hive0.13.0

select degrees(23.23432),degrees(23.66545);

1.4.2.12、e

select e();

1.4.2.13、exp-->Hive0.13.0

select exp(23.234),exp(23.354),exp(23.65),exp(2);

1.4.2.14、factorial-->Hive1.2.0

1.4.2.15、floor

select floor(2.34),floor(2.756),floor(3.54);

1.4.2.16、greatest-->Hive1.1.0

select greatest(1,2,34,45,234,342,42324);

1.4.2.17、hex

select hex(23),hex(2);

1.4.2.18、least

select least(1,2,34,45,234,342,42324);

1.4.2.19、ln-->Hive0.13.0

select ln(10),ln(20),ln(0),ln(1);

1.4.2.20、log2-->Hive0.13.0

select log2(4),log2(6),log2(8);

1.4.2.21、log10-->Hive0.13.0

select log10(40),log10(60),log10(80),log10(100);

1.4.2.22、negative

select negative(1),negative(20.234),negative(-20);

1.4.2.23、pi

select pi();

1.4.2.24、pmod

select pmod(10,2),pmod(10,3),pmod(10,4);

1.4.2.25、positive

select positive(20),positive(10.234353);

1.4.2.26、pow

select pow(5,2),pow(4,2);

1.4.2.27、radians-->Hive0.13.0

select radians(4),radians(180),radians(360);

1.4.2.28、rand

-- 可以指定种子序列,这样可以保障每次的结果都一致

select rand(),rand(5),rand(10);

1.4.2.29、round

select round(3),round(3.2),round(3.43);

1.4.2.30、shiftleft-->Hive1.2.0

1.4.2.31、shiftright-->Hive1.2.0

1.4.2.32、shiftrightunsigned-->Hive1.2.0

1.4.2.33、sign-->Hive0.13.0

select sign(23.23),sign(23),sign(-10);

1.4.2.34、sin-->Hive0.13.0

select sin(60),sin(90),sin(180),sin(270),sin(360)

1.4.2.35、sqrt-->Hive0.13.0

select sqrt(3),sqrt(4),sqrt(10);

1.4.2.36、tan-->Hive0.13.0

select tan(30),tan(90),tan(180);

1.4.2.37、unhex-->Hive0.12.0

select hex(57),unhex(57);

1.4.2.38、width_bucket-->Hive3.0.0

支持版本+

返回值类型

函数名称

功能描述

DOUBLE

abs(DOUBLE a)

返回绝对值

Hive0.13.0

DOUBLE

acos(DOUBLE a), acos(DECIMAL a)

如果 -1<=a<=1 或 NULL,则返回 a 的反余弦值。

Hive0.13.0

DOUBLE

asin(DOUBLE a), asin(DECIMAL a)

如果 -1<=a<=1 或 NULL,则返回 a 的反正弦。

Hive0.13.0

DOUBLE

atan(DOUBLE a), atan(DECIMAL a)

返回a的正切值。

STRING

bin(BIGINT a)

返回二进制格式的数字

Hive1.3.0

DOUBLE

bround(DOUBLE a)

使用HALF_EVEN四舍五入模式返回a的BIGINT值。例如:bround(2.5) = 2, bround(3.5) = 4.

Hive1.3.0

DOUBLE

bround(DOUBLE a, INT d)

使用HALF_EVEN四舍五入模式返回一个四舍五入到小数点后d位的数值。例如:bround(8.25, 1) = 8.2,bround(8.35, 1) = 8.4

Hive1.2.0

DOUBLE

cbrt(DOUBLE a)

返回双精度值的立方根

BIGINT

ceil(DOUBLE a), ceiling(DOUBLE a)

返回等于或大于 a 的最小 BIGINT 值

STRING

conv(BIGINT num, INT from_base, INT to_base), conv(STRING num, INT from_base, INT to_base)

将一个数字从一个给定的基数转换为另一个基数

Hive0.13.0

DOUBLE

cos(DOUBLE a), cos(DECIMAL a)

返回 a 的余弦(a 以弧度为单位)

Hive0.13.0

DOUBLE

degrees(DOUBLE a), degrees(DECIMAL a)

将 a 的值从弧度转换为度数

DOUBLE

e()

返回 e 的值。

Hive0.13.0

DOUBLE

exp(DOUBLE a), exp(DECIMAL a)

返回 ea,其中 e 是自然对数的底数

Hive1.2.0

BIGINT

factorial(INT a)

返回a的阶乘

BIGINT

floor(DOUBLE a)

返回等于或小于 a 的最大 BIGINT 值。

Hive1.1.0

T

greatest(T v1, T v2, ...)

返回值列表的最大值

STRING

hex(BIGINT a) hex(STRING a) hex(BINARY a)

如果参数是 INT 或二进制,则十六进制将数字作为十六进制格式的 STRING 返回。否则,如果数字是 STRING,它会将每个字符转换为其十六进制表示并返回结果 STRING。

T

least(T v1, T v2, ...)

返回值列表的最小值

Hive0.13.0

DOUBLE

ln(DOUBLE a), ln(DECIMAL a)

返回参数 a 的自然对数

Hive0.13.0

DOUBLE

log2(DOUBLE a), log2(DECIMAL a)

返回参数 a 的以 2 为底的对数

Hive0.13.0

DOUBLE

log10(DOUBLE a), log10(DECIMAL a)

返回参数 a 的以 10 为底的对数

DOUBLE

log(DOUBLE base, DOUBLE a)

log(DECIMAL base, DECIMAL a)

返回参数 a 的底对数

INT or DOUBLE

negative(INT a), negative(DOUBLE a)

返回-a。

DOUBLE

pi()

返回π的值

INT or DOUBLE

pmod(INT a, INT b), pmod(DOUBLE a, DOUBLE b)

返回 a mod b 的正值

INT or DOUBLE

positive(INT a), positive(DOUBLE a)

返回a

DOUBLE

pow(DOUBLE a, DOUBLE p), power(DOUBLE a, DOUBLE p)

返回 ap

它返回 a值的 p 次幂

Hive0.13.0

DOUBLE

radians(DOUBLE a), radians(DOUBLE a)

将 a 的值从度数转换为弧度

DOUBLE

rand(), rand(INT seed)

返回从 0 到 1 均匀分布的随机数(从行到行变化)。指定种子将确保生成的随机数序列是确定性的

DOUBLE

round(DOUBLE a)

返回a的四舍五入的BIGINT值

DOUBLE

round(DOUBLE a, INT d)

返回四舍五入到 d 位小数

Hive1.2.0

INT

BIGINT

shiftleft(TINYINT|SMALLINT|INT a, INT b)

shiftleft(BIGINT a, INT b)

位数左移(从Hive 1.2.0开始)。将a b的位置向左移动。对于tinyint、smallint和int a,返回int;对于bigint a,返回bigint。

Hive1.2.0

INT

BIGINT

shiftright(TINYINT|SMALLINT|INT a, INT b)

shiftright(BIGINT a, INT b)

位数右移(从Hive 1.2.0开始)。将a b的位置向右移动。对于tinyint、smallint和int a,返回int;对于bigint a,返回bigint

Hive1.2.0

INT

BIGINT

shiftrightunsigned(TINYINT|SMALLINT|INT a, INT b),

shiftrightunsigned(BIGINT a, INT b)

Bitwise无符号右移(从Hive 1.2.0开始)。将a b的位置向右移动。对于tinyint、smallint和int a,返回int;对于bigint a,返回bigint。

Hive0.13.0

DOUBLE or INT

sign(DOUBLE a), sign(DECIMAL a)

将 a 的符号返回为“1.0”(如果 a 为正)或“-1.0”(如果 a 为负),否则返回“0.0”。十进制版本返回 INT 而不是 DOUBLE

Hive0.13.0

DOUBLE

sin(DOUBLE a), sin(DECIMAL a)

返回 a 的正弦值(a 以弧度为单位

Hive0.13.0

DOUBLE

sqrt(DOUBLE a), sqrt(DECIMAL a)

返回 a 的平方根

Hive0.13.0

DOUBLE

tan(DOUBLE a), tan(DECIMAL a)

返回a的正切值(a的单位是弧度)

Hive0.12.0

BINARY

unhex(STRING a)

十六进制的倒数。将每对字符解释为一个十六进制数并转换为该数的字节表示

Hive3.0.0

INT

width_bucket(NUMERIC expr, NUMERIC min_value, NUMERIC max_value, INT num_buckets)

通过将 expr 映射到第 i 个相同大小的存储桶,返回 0 到 num_buckets+1 之间的整数。通过将 [min_value, max_value] 分成大小相等的区域来制作桶。如果expr < min_value,返回1,如果expr > max_value 返回num_buckets+1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mylife512

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值