持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
hive既然是应用在大数据分析中的一种语言,必然要熟知他的数学函数应用,下面通过几篇文章的汇总介绍,来详细讲解一下hive中有哪些数学函数。 在数学函数中应用最为广泛的就是取值了,在讲述数学函数之前,先来回顾一下hive有哪些数据类型,因为这个好似基本知识,如果不清楚的话,是用不好数学函数的。使用到比较多的就是double,bigint等数据类型,还有int整型,DECIMAL等等。
首先就是round()函数
常见使用方法: round(double a)
具体功能介绍: 这个函数的功能就是对输入参数a进行四舍五入取值,需要注意的是这个方法获取的结果数据类型是bigint,另外也可以指定获取的小数点后的位数,比如如下的例子中获取的就是小数点后两位。
select round(1.4) ;
>>1
select round(1.5) ;
>>2
select round(1.23454,4) ;
>> 1.2346
select round(1.08234,2) ;
>> 1.08
select round(4.09534,2) ;
>>4.10
上述中获取保留的小数点后的位数的写法是round(DOUBLE a, INT d),此处d要是整型的常量,返回的结果类型也是double的。输入参数也是double,返回的是a保留d位小数的近似值。
再来一个比较不常见的bround(DOUBLE a)函数
常见使用方法: bround(DOUBLE a),bround(DOUBLE a,int n)
具体功能描述: 这个函数的作用是银行家舍入法,即1-4是要舍弃,6-9是进一位,这个和普通的四舍五入一样,重点在于5的不同,如果5的前一位是偶数,则舍弃,如果5的前一位是奇数,则进一位。不过日常中使用的比较少,大家了解一下用法就可以。同样的也是有保留n位的写法bround(DOUBLE a, INT n),功能大致和上述相同,只不过就是可以指定保留n位小数
select bround(6.45, 1) ;
>> 6.4
select bround(8.75, 1) ;
>> 8.8