hive函数总结---集合统计函数

本文详细解析了Hive中的各类统计函数,包括个数统计、总和、平均值、最小值、最大值等基本统计函数,以及非空集合总体变量、样本变量、总体和样本标准偏离等高级统计函数。此外,还介绍了中位数、近似中位数及直方图函数的使用方法,旨在帮助读者全面掌握Hive统计分析技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 个数统计函数: count

语法: count(), count(expr), count(DISTINCT expr[, expr_.])
返回值: int
说明: count(
)统计检索出的行的个数,包括 NULL 值的行;count(expr)返回指定字段的
非空值的个数;count(DISTINCT expr[, expr_.])返回指定字段的不同的非空值的个数
举例:

hive> select count(*) from lxw_dual;
20
hive> select count(distinct t) from lxw_dual;
10
  1. 总和统计函数: 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
  1. 平均值统计函数: 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
  1. 最小值统计函数: min

语法: min(col)
返回值: double
说明: 统计结果集中col 字段的最小值
举例:

hive> select min(t) from lxw_dual;
20
  1. 最大值统计函数: max

语法: max(col)
返回值: double
说明: 统计结果集中col 字段的最大值
举例:

hive> select max(t) from lxw_dual;
120
  1. 非空集合总体变量函数: var_pop

语法: var_pop(col)
返回值: double
说明: 统计结果集中col 非空集合的总体变量(忽略 null)
举例:

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

语法: var_samp (col)
返回值: double
说明: 统计结果集中col 非空集合的样本变量(忽略 null)
举例:

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

语法: stddev_pop(col)
返回值: double
说明: 该函数计算总体标准偏离,并返回总体变量的平方根,其返回值与 VAR_POP 函
数的平方根相同
举例:

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

语法: stddev_samp (col)
返回值: double
说明: 该函数计算样本标准偏离
举例:

  1. 中位数函数: percentile

语法: percentile(BIGINT col, p)
返回值: double
说明: 求准确的第 pth个百分位数,p必须介于 0 和 1之间,但是 col 字段目前只支持整数,不支持浮点数类型
举例:

  1. 中位数函数: percentile

语法: percentile(BIGINT col, array(p1 [, p2]…))
返回值: array
说明 : 功能和上述类似,之后后面可以输入多个百分位数,返回类型也为array,其中为对应的百分位数。
举例:

select percentile(score,<0.2,0.4>) from lxw_dual; 取0.2,0.4位置的数据
  1. 近似中位数函数: percentile_approx

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

  1. 近似中位数函数: percentile_approx

语法: percentile_approx(DOUBLE col, array(p1 [, p2]…) [, B])
返回值: array
说明 : 功能和上述类似,之后后面可以输入多个百分位数,返回类型也为
array,其中为对应的百分位数。
举例:

  1. 直方图: 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}]

原文:https://blog.csdn.net/weixin_40706727/article/details/80945673

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值