hive基本聚合函数

数据聚合是按照特定条件将数据整合并表达出来,以总结出更多的组信息。Hive包含内建的一些基本聚合函数,如MAX, MIN, AVG等等,同时也通过GROUPING SETS,

ROLLUP, CUBE等函数支持更高级的聚合。Hive基本内建聚合函数通常与GROUP BY连用,默认情况下是对整个表进行操作。在使用GROUP BY时,除聚合函数外其他已选择列必须包含在GROUP BY子句中。

下表为Hive内置的聚合函数。

返回类型

函数名

描述

BIGINT

count(*)

count(expr)

count(DISTINCT expr[, expr_.])count(*) –返回检索到的行的总数,包括含有NULL值的行。count(expr) –返回expr表达式不是NULL的行的数量count(DISTINCT

expr[, expr]) –返回expr是唯一的且非NULL的行的数量

DOUBLE

sum(col)

sum(DISTINCT col)对组内某列求和(包含重复值)或者对组内某列求和(不包含重复值)

DOUBLE

avg(col),

avg(DISTINCT col)对组内某列元素求平均值者(包含重复值或不包含重复值)

DOUBLE

min(col)

返回组内某列的最小值

DOUBLE

max(col)

返回组内某列的最大值

DOUBLE

variance(col),

var_pop(col)返回组内某个数字列的方差

DOUBLE

var_samp(col)

返回组内某个数字列的无偏样本方差

DOUBLE

stddev_pop(col)

返回组内某个数字列的标准差

DOUBLE

stddev_samp(col)

返回组内某个数字列的无偏样本标准差

DOUBLE

covar_pop(col1, col2)

返回组内两个数字列的总体协方差

DOUBLE

covar_samp(col1, col2)

返回组内两个数字列的样本协方差

DOUBLE

corr(col1, col2)

返回组内两个数字列的皮尔逊相关系数

DOUBLE

percentile(BIGINT col, p)

返回组内某个列精确的第p位百分数,p必须在0和1之间

array

percentile(BIGINT col, array(p1[, p2]...))

返回组内某个列精确的第p1,p2,……位百分数,p必须在0和1之间

DOUBLE

percentile_approx(DOUBLE col, p [, B])

返回组内数字列近似的第p位百分数(包括浮点数),参数B控制近似的精确度,B值越大,近似度越高,默认值为10000。当列中非重复值的数量小于B时,返回精确的百分数

array

percentile_approx(DOUBLE col, array(p1[,  p2]...) [, B])

同上,但接受并返回百分数数组

array

histogram_numeric(col, b)

使用b个非均匀间隔的箱子计算组内数字列的柱状图(直方图),输出的数组大小为b,double类型的(x,y)表示直方图的中心和高度

array

collect_set(col)

返回消除了重复元素的数组

array

collect_list(col)

返回允许重复元素的数组

INTEGER

ntile(INTEGER x)

该函数将已经排序的分区分到x个桶中,并为每行分配一个桶号。这可以容易的计算三分位,四分位,十分位,百分位和其它通用的概要统计


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值