Hive:常用系统函数-数学函数

关于Hive常用的字符串处理函数:

函数参数格式解释
roundround(DOUBLE a, INT d)将 a精确到d位小数,d为可选参数,d空缺时精确到整数位(精确方式为四舍五入)
broundbround(DOUBLE a, INT d)将 a使用HALF_EVEN方式精确到d位小数,d为可选参数(HALF_EVEN的方式使末尾数字为偶数)。例如:bround(8.25, 1) = 8.2, bround(8.35, 1) = 8.4
floorfloor(DOUBLE a)返回小于等于a的最大整数值
ceilceil(DOUBLE a)返回大于等于a的最小整数值
randrand(INT seed)返回服从0~1的均匀分布的随机数,seed为可选值,用于设定随机数种子
expexp(DOUBLE a)返回exp(a)
lnln(DOUBLE a)返回A的自然对数
log10log10(DOUBLE a)返回以10为底的a的对数值
log2log2(DOUBLE a)返回以2为底的a的对数值
loglog(DOUBLE base, DOUBLE a)返回以base为底的a的对数值
powpow(DOUBLE a, DOUBLE p)返回a的p次方
sqrtsqrt(DOUBLE a)返回a开方值
binbin(BIGINT a)返回a的二进制值
hexhex(BIGINT|STRING|BINARY a)如果参数是整数或二进制数字,hex以十六进制格式将数字作为字符串返回。如果数字是字符串,则将每个字符转换为十六进制表示形式并返回结果字符串。
convconv(BIGINT num, INT from_base, INT to_base)将num从from_base进制转换为to_base进制。例如:conv(3,10,2)返回11
absabs(DOUBLE a)返回a的绝对值
pmodpmod(INT|DOUBLE a, INT|DOUBLE b)返回a/b的模,即a%b。经测试使用mod(a,b)效果一样
sinsin(DOUBLE|DECIMAL a)返回a的正弦函数。(注意:a为弧度)
asinasin(DOUBLE|DECIMAL a)sin的逆函数,返回已a为正弦值的弧度(注意a的值域为[-1,1])
coscos(DOUBLE|DECIMAL a)返回a的余弦函数。(注意:a为弧度)
acosacos(DOUBLE|DECIMAL a)cos的逆函数,返回已a为余弦值的弧度(注意a的值域为[-1,1])
tantan(DOUBLE|DECIMAL a)返回a的正切函数。(注意:a为弧度)
atanatan(DOUBLE|DECIMAL a)tan的逆函数,返回已a为正切值的弧度
degreesdegrees(DOUBLE|DECIMAL a)将弧度值a转换为角度值
radiansdegrees(DOUBLE|DECIMAL a)将角度值a转换为弧度值
positivepositive(INT|DOUBLE a)返回a
negativenegative(INT|DOUBLE a)返回-a
signsign(DOUBLE|DECIMAL a)符号函数,返回a的符号。如果a>0返回1.0,如果a<0返回-1.0,否则返回0.0
ee()返回自然常数 e e e的值
pipi()返回 π \pi π的值
factorialfactorial(INT a)返回a的阶乘a!
cbrtcbrt(DOUBLE a)返回a的立方根
shiftleftshiftleft(BIGINT a, INT b)将a按位左移b位。例如:shiftleft(2,3)=16(解释:因为2的二进制为10,左移三位为10000,即为16)
shiftrightshiftright(BIGINT a, INT b)将a按位右移b位。例如:shiftright(4,2)=1(解释:因为4的二进制为110,左移二位为1,即为1)
shiftrightunsignedshiftrightunsigned(BIGINT a, INT b)将a按位无符号右移b位
greatestgreatest(T v1, T v2, …)返回所给的列表值中的最大值。例如:greatest(4,5),返回5
leastleast(T v1, T v2, …)返回所给的列表值中的最小值。例如:greatest(4,5),返回4
width_bucketwidth_bucket(NUMERIC expr, NUMERIC min_value, NUMERIC max_value, INT num_buckets)可以根据输入参数创建等长的段。范围MIN到MAX被分为num_buckets节,每节有相同的大小。返回expr所在的那一节。如果expr小于MIN,将返回0,如果expr大于或等于MAX,将返回num_buckets+1。不理解的,可以看看hash_map的思想,和hive中buckets概念
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值