hive的统计函数

hive函数—-集合统计函数

集合统计函数1. 个数统计函数: count

语法: 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

2. 总和统计函数: sum

语法: 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

3. 平均值统计函数: avg

语法: 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

4. 最小值统计函数: min

语法: min(col)

返回值: double

说明统计结果集中col字段的最小值

举例:

hive> select min(t) from lxw_dual;

20

5. 最大值统计函数: max

语法: maxcol)

返回值: double

说明统计结果集中col字段的最大值

举例:

hive> select max(t) from lxw_dual;

120

6. 非空集合总体变量函数:var_pop

语法: var_pop(col)

返回值: double

说明统计结果集中col非空集合的总体变量(忽略null

举例:

7. 非空集合样本变量函数:var_samp

语法: var_samp (col)

返回值: double

说明统计结果集中col非空集合的样本变量(忽略null

举例:

8. 总体标准偏离函数:stddev_pop

语法: stddev_pop(col)

返回值: double

说明该函数计算总体标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同

举例:

9. 样本标准偏离函数:stddev_samp

语法: stddev_samp (col)

返回值: double

说明该函数计算样本标准偏离

举例:

10.中位数函数:percentile

语法: percentile(BIGINT col, p)

返回值: double

说明求准确的第pth个百分位数,p必须介于01之间,但是col字段目前只支持整数,不支持浮点数类型

举例:

11. 中位数函数:percentile

语法: percentile(BIGINT col, array(p1 [, p2]…))

返回值: array

说明功能和上述类似,之后后面可以输入多个百分位数,返回类型也为array,其中为对应的百分位数。

举例:

select percentile(score,<0.2,0.4>) from lxw_dual;取0.20.4位置的数据

12. 近似中位数函数:percentile_approx

语法: percentile_approx(DOUBLE col, p [, B])

返回值: double

说明求近似的第pth个百分位数,p必须介于01之间,返回类型为double,但是col字段支持浮点类型。参数B控制内存消耗的近似精度,B越大,结果的准确度越高。默认为10,000。当col字段中的distinct值的个数小于B时,结果为准确的百分位数

举例:

13. 近似中位数函数:percentile_approx

语法: percentile_approx(DOUBLE col, array(p1 [, p2]…) [, B])

返回值: array

说明功能和上述类似,之后后面可以输入多个百分位数,返回类型也为array,其中为对应的百分位数。

举例:

14. 直方图:histogram_numeric

语法: histogram_numeric(col, b)

返回值: array

说明b为基准计算col的直方图信息。

举例:

hive> select histogram_numeric(100,5) from lxw_dual;

[{"x":100.0,"y":1.0}]

你可能感兴趣的:(hive,hive)