hive的统计函数
2016-09-26 11:22
267 查看
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必须介于0和1之间,但是col字段目前只支持整数,不支持浮点数类型
举例:
11. 中位数函数: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}]
集合统计函数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必须介于0和1之间,但是col字段目前只支持整数,不支持浮点数类型
举例:
11. 中位数函数: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}]
相关文章推荐
- C++通过mysql的c api和通过mysql的Connector C++ 1.1.3操作mysql的两种方式
- 关于div中img,span垂直居中的问题
- android webView 和js交互中需要注意的几点
- JS之值类型与引用类型,及数据类型间的转换
- 第26周-window程序设计(基础篇)-第5章(图形基础)-关于颜色
- Window下搭建ESP8266编译环境
- Android第一行代码学习笔记八----网络技术
- iOS单例详解
- fir.im Weekly - 关于 iOS10 适配、开发、推送的一切
- C#窗体布局方式详解
- iOS10中UIScrollView新增refreshControl属性
- 四种浏览器对 Document.body 的 ClientHeight、OffsetHeight 和 ScrollHeight 的解释
- 2.素数对猜想
- Vuejs(14)——在v-for中,利用index来对第一项添加class
- oracle rac 和单机环境下各种不同
- 如何实现跑马灯效果
- GET,POST,PUT,DELETE的区别
- 5分钟 搞定UIButton的文本与图片的布局
- Git快速入门
- 在树莓派上通过usb_cam将图像传输到笔记本电脑