Hive常用系统函数-聚合函数

2024-06-10 16:58
文章标签 系统 函数 常用 hive 聚合

本文主要是介绍Hive常用系统函数-聚合函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于Hive常用的聚合函数
Hive的聚合函数,大多可以group by 组合使用

函数参数格式解释
countcount(*), count(expr),count(distinct expr)返回查找的总行数,count(*)返回的行数包括null值;count(expr)和count(distinct expr) 不包括null值
sumsum(col), sum(DISTINCT col)sum(col)返回组内查询列元素的总和,sum(DISTINCT col)返回组内查询列列的不同值的总和
avgavg(col), avg(DISTINCT col)sum(col)返回组内查询列元素的平均值,sum(DISTINCT col)返回组内查询列的不同值的平均值
minmin(col)返回组内查询列的最小值
maxmax(col)返回组内查询列的最大值
variancevariance(col)返回组内查询列的方差(也可称为总体方差),也可写成var_pop(col)
var_sampvar_samp(col)返回组内查询列方差的无偏估计(方差无偏估计中,因为估计期望损失了一个自由度,估计的分母为n-1,也可称为样本方差)
stddev_popstddev_pop(col)返回组内查询列的标准差
stddev_sampstddev_samp(col)返回组内查询列标准差的无偏估计方差(无偏估计中,因为估计期望损失了一个自由度,估计的分母为n-1)
covar_popcovar_pop(col1, col2)返回组内查询列col1和col2的总体协方差
covar_sampcovar_samp(col1, col2)返回组内查询列col1和col2的样本协方差
corrcorr(col1, col2)返回组内查询列col1和col2的相关系数
percentilepercentile(BIGINT col, p)返回组内查询整数列col所在的分位数,p可以为浮点数或数组,且其中元素大小必须在0-1之间。若col不是整数,需使用percentile_approx
percentile_approxpercentile_approx(DOUBLE col, array(p1[, p2]…) [, B])返回组内查询列col所在的分位数,p可以为浮点数或数组,且其中元素大小必须在0-1之间。B为可选参数,为精度控制参数
regr_avgxregr_avgx(independent, dependent)计算自变量的平均值。该函数将任意一对数字类型作为参数,并返回一个double。任何具有null的对都将被忽略。如果应用于空集:返回null。否则,它计算以下内容:avg(dependent)
regr_avgyregr_avgy(independent, dependent)计算因变量的平均值。该函数将任意一对数字类型作为参数,并返回一个double。任何具有null的对都将被忽略。如果应用于空集:返回null。否则,它计算以下内容:avg(independent)
regr_countregr_count(independent, dependent)返回independent和dependent都非空的对数
regr_interceptregr_intercept(independent, dependent)返回线性回归的截距项
regr_r2regr_r2(independent, dependent)返回线性回归的判决系数(R方,coefficient of determination)
regr_sloperegr_slope(independent, dependent)返回线性回归的斜率系数
regr_sxxregr_sxx(independent, dependent)用如下公式计算: ∑ i = 1 n x i x i − ∑ i = 1 n x i ∗ ∑ i = 1 n x i n \frac{\sum_{i=1}^nx_ix_i-\sum_{i=1}^nx_i\ast\sum_{i=1}^nx_i}n ni=1nxixii=1nxii=1nxi,并返回结果。等价于regr_count(independent, dependent) * var_pop(dependent)
regr_sxyregr_sxy(independent, dependent)用如下公式计算: ∑ i = 1 n y i x i − ∑ i = 1 n y i ∗ ∑ i = 1 n x i n \frac{\sum_{i=1}^ny_ix_i-\sum_{i=1}^ny_i\ast\sum_{i=1}^nx_i}n ni=1nyixii=1nyii=1nxi,并返回结果。等价于regr_count(independent, dependent) * covar_pop(independent, dependent)
regr_syyregr_syy(independent, dependent)用如下公式计算: ∑ i = 1 n y i y i − ∑ i = 1 n y i ∗ ∑ i = 1 n y i n \frac{\sum_{i=1}^ny_iy_i-\sum_{i=1}^ny_i\ast\sum_{i=1}^ny_i}n ni=1nyiyii=1nyii=1nyi,并返回结果。等价于 regr_count(independent, dependent) * var_pop(independent)
histogram_numerichistogram_numeric(col, b)用于画直方图。返回一个长度为b的数组,数组中元素为(x,y)形式的键值对,x代表了直方图中该柱形的中心,y代表可其高度。
collect_setcollect_set(col)返回查询列col去重后的集合,与distinct不同,distinct查询结果为一列数据,collect_set查询后结果为一个集合形式的元素
collect_listcollect_list(col)返回查询列col的列表
ntilentile(INTEGER x)将有序分区划分为x个称为存储桶的组,并为该分区中的每一行分配存储桶编号。 (此方式存储可以快速计算分位数)

这篇关于Hive常用系统函数-聚合函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1048737

相关文章

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

Python容器转换与共有函数举例详解

《Python容器转换与共有函数举例详解》Python容器是Python编程语言中非常基础且重要的概念,它们提供了数据的存储和组织方式,下面:本文主要介绍Python容器转换与共有函数的相关资料,... 目录python容器转换与共有函数详解一、容器类型概览二、容器类型转换1. 基本容器转换2. 高级转换示

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3

MyBatis配置文件中最常用的设置

《MyBatis配置文件中最常用的设置》文章主要介绍了MyBatis配置的优化方法,包括引用外部的properties配置文件、配置外置以实现环境解耦、配置文件中最常用的6个核心设置以及三种常用的Ma... 目录MyBATis配置优化mybatis的配置中引用外部的propertis配置文件⚠️ 注意事项X

一文详解Java常用包有哪些

《一文详解Java常用包有哪些》包是Java语言提供的一种确保类名唯一性的机制,是类的一种组织和管理方式、是一组功能相似或相关的类或接口的集合,:本文主要介绍Java常用包有哪些的相关资料,需要的... 目录Java.langjava.utiljava.netjava.iojava.testjava.sql

pandas使用apply函数给表格同时添加多列

《pandas使用apply函数给表格同时添加多列》本文介绍了利用Pandas的apply函数在DataFrame中同时添加多列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录一、Pandas使用apply函数给表格同时添加多列二、应用示例一、Pandas使用apply函

Springmvc常用的注解代码示例

《Springmvc常用的注解代码示例》本文介绍了SpringMVC中常用的控制器和请求映射注解,包括@Controller、@RequestMapping等,以及请求参数绑定注解,如@Request... 目录一、控制器与请求映射注解二、请求参数绑定注解三、其他常用注解(扩展)四、注解使用注意事项一、控制

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

Python中Namespace()函数详解

《Python中Namespace()函数详解》Namespace是argparse模块提供的一个类,用于创建命名空间对象,它允许通过点操作符访问数据,比字典更易读,在深度学习项目中常用于加载配置、命... 目录1. 为什么使用 Namespace?2. Namespace 的本质是什么?3. Namesp