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

相关文章

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数