语法: count(*), count(expr), count(DISTINCT expr[, expr_.])
返回值: int
说明: count(*)统计检索出的行的个数,包括NULL值的行;count(expr)返回指定字段的非空值的个数;count(DISTINCTexpr[, expr_.])返回指定字段的不同的非空值的个数
hive> select count (* ) from lxw_dual;
20
hive> select count (distinct t) from lxw_dual;
10
语法: sum(col), sum(DISTINCT col)
返回值: double
说明: sum(col)统计结果集中col的相加的结果;sum(DISTINCT col)统计结果中col不同值相加的结果
hive> select sum (t) from lxw_dual;
100
hive> select sum (distinct t) from lxw_dual;
70
语法: avg(col), avg(DISTINCT col)
返回值: double
说明: avg(col)统计结果集中col的平均值;avg(DISTINCT col)统计结果中col不同值相加的平均值
hive> select avg (t) from lxw_dual;
50
hive> select avg (distinct t) from lxw_dual;
30
语法: min(col)
返回值: double
说明:统计结果集中col字段的最小值
hive> select min (t) from lxw_dual;
20
语法: maxcol)
返回值: double
说明:统计结果集中col字段的最大值
hive> select max (t) from lxw_dual;
120
语法: var_pop(col)
返回值: double
说明:统计结果集中col非空集合的总体变量(忽略null)
非空集合样本变量函数:var_samp
语法: var_samp (col)
返回值: double
说明:统计结果集中col非空集合的样本变量(忽略null)
语法: stddev_pop(col)
返回值: double
说明:该函数计算总体标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同
语法: stddev_samp (col)
返回值: double
说明:该函数计算样本标准偏离
语法: percentile(BIGINT col, p)
返回值: double
说明:求准确的第pth个百分位数,p必须介于0和1之间,但是col字段目前只支持整数,不支持浮点数类型
中位数函数:percentile
语法: percentile(BIGINT col, array(p1 [, p2]…))
返回值: array<double>
说明:功能和上述类似,之后后面可以输入多个百分位数,返回类型也为array<double>,其中为对应的百分位数。
select percentile(score,< 0 .2 ,0 .4 > ) from lxw_dual;取0 .2 ,0 .4 位置的数据
12. 近似中位数函数:percentile_approx
语法: percentile_approx(DOUBLE col, p [, B])
返回值: double
说明:求近似的第pth个百分位数,p必须介于0和1之间,返回类型为double,但是col字段支持浮点类型。参数B控制内存消耗的近似精度,B越大,结果的准确度越高。默认为10,000。当col字段中的distinct值的个数小于B时,结果为准确的百分位数
13. 近似中位数函数:percentile_approx
语法: percentile_approx(DOUBLE col, array(p1 [, p2]…) [, B])
返回值: array<double>
说明:功能和上述类似,之后后面可以输入多个百分位数,返回类型也为array<double>,其中为对应的百分位数。
14. 直方图:histogram_numeric
语法: histogram_numeric(col, b)
返回值: array<struct {‘x’,‘y’}>
说明:以b为基准计算col的直方图信息。
hive> select histogram_numeric(100 ,5 ) from lxw_dual;
[{" x" :100 .0 ," y" :1 .0 }]