大数据技术架构(组件)15——Hive:内置UDAF函数

news2024/12/31 5:53:00

1.4.10、内置UDAF函数

1.4.10.1、count

--可以发现count(id)会把id=null的值剔除掉

select count(1),count(*),count(distinct id),count(id) from test

1.4.10.2、sum

select sum(1) from test;

1.4.10.3、avg

该函数太简单了,就不给大家演示了

1.4.10.4、min

该函数太简单了,就不给大家演示了

1.4.10.5、max

该函数太简单了,就不给大家演示了

1.4.10.6、variance

1.4.10.7、var_sample

1.4.10.8、stddev_pop

1.4.10.9、covar_pop

1.4.10.10、covar_samp

1.4.10.11、corr

1.4.10.12、percentile

1.4.10.13、percentile_approx

1.4.10.14、regr_avgx -->Hive2.2.0

1.4.10.15、regr_avgy -->Hive2.2.0

1.4.10.16、regr_count -->Hive2.2.0

1.4.10.17、regr_intercept -->Hive2.2.0

1.4.10.18、regr_r2 -->Hive2.2.0

1.4.10.19、regr_slope -->Hive2.2.0

1.4.10.20、regr_sxx -->Hive2.2.0

1.4.10.21、regr_sxy -->Hive2.2.0

1.4.10.22、regr_syy -->Hive2.2.0

1.4.10.23、histogram_numeric

1.4.10.24、collect_set

select collect_set(id),count(1) from test;

1.4.10.25、collect_list --> Hive0.13.0

select collect_list(id),count(1) from test;

1.4.10.26、ntile --> Hive0.11.0

select 
 id,
 ntile(1) over(partition by id),--分组内的数据切分为1份
 ntile(2) over(partition by id),--分组内的数据切分为2份
 ntile(3) over(partition by id )--分组内的数据切分为2份 
from test

支持版本

返回值类型

函数名称

功能描述

BIGINT

count(*), count(expr), count(DISTINCT expr[, expr...])

count(*) - 返回检索到的总行数,包括包含 NULL 值的行

count(expr) - 返回提供的表达式为非 NULL 的行数.

count(DISTINCT expr[, expr]) -返回提供的表达式唯一且非 NULL 的行数。可以使用 hive.optimize.distinct.rewrite 优化此操作的执行.

DOUBLE

sum(col), sum(DISTINCT col)

返回组中元素的总和或组中列的不同值的总和。

DOUBLE

avg(col), avg(DISTINCT col)

返回组中元素的平均值或组中列的不同值的平均值

DOUBLE

min(col)

返回组中列的最小值

DOUBLE

max(col)

返回组中列的最大值。

DOUBLE

variance(col), var_pop(col)

返回组中数字列的方差

DOUBLE

var_samp(col)

返回组中数字列的无偏样本方差

DOUBLE

stddev_pop(col)

返回组中数字列的标准差

DOUBLE

stddev_samp(col)

返回组中数字列的无偏样本标准差

DOUBLE

covar_pop(col1, col2)

返回组中一对数值列的总体协方差

DOUBLE

covar_samp(col1, col2)

返回组中一对数字列的样本协方差

DOUBLE

corr(col1, col2)

返回组中一对数字列的 Pearson 相关系数

DOUBLE

percentile(BIGINT col, p)

返回组中列的确切第 p 个百分位数(不适用于浮点类型)。 p 必须介于 0 和 1 之间。注意:只能为整数值计算真正的百分位数。如果您的输入是非整数,请使用 PERCENTILE_APPROX。

array<double>

percentile(BIGINT col, array(p1 [, p2]...))

返回组中列的确切百分位数 p1、p2、...(不适用于浮点类型)。 pi 必须介于 0 和 1 之间。注意:只能为整数值计算真正的百分位数。如果您的输入是非整数,请使用 PERCENTILE_APPROX

DOUBLE

percentile_approx(DOUBLE col, p [, B])

返回组中数字列(包括浮点类型)的近似第 p 个百分位。 B 参数以内存为代价控制近似精度。较高的值会产生更好的近似值,默认值为 10,000。当 col 中不同值的数量小于 B 时,这给出了精确的百分位值

array<double>

percentile_approx(DOUBLE col, array(p1 [, p2]...) [, B])

同上,但接受并返回百分位值数组而不是单个值

Hive2.2.0

double

regr_avgx(independent, dependent)

相当于 avg(依赖)。从 Hive 2.2.0 开始。

Hive2.2.0

double

regr_avgy(independent, dependent)

相当于 avg(独立)。从 Hive 2.2.0 开始

Hive2.2.0

double

regr_count(independent, dependent)

返回用于拟合线性回归线的非空对的数量。从 Hive 2.2.0 开始

Hive2.2.0

double

regr_intercept(independent, dependent)

返回线性回归线的 y 截距,即等式中 b 的值依赖 = a * independent + b。从 Hive 2.2.0 开始

Hive2.2.0

double

regr_r2(independent, dependent)

返回回归的决定系数。从 Hive 2.2.0 开始。

Hive2.2.0

double

regr_slope(independent, dependent)

返回线性回归线的斜率,即等式中 a 的值依赖 = a * independent + b。从 Hive 2.2.0 开始。

Hive2.2.0

double

regr_sxx(independent, dependent)

相当于 regr_count(independent,dependent) * var_pop(dependent)。从 Hive 2.2.0 开始。

Hive2.2.0

double

regr_sxy(independent, dependent)

相当于 regr_count(independent,dependent) * covar_pop(independent,dependent)。从 Hive 2.2.0 开始

Hive2.2.0

double

regr_syy(independent, dependent)

相当于 regr_count(independent,dependent) * var_pop(independent)。从 Hive 2.2.0 开始

array<struct {'x','y'}>

histogram_numeric(col, b)

使用 b 个非均匀间隔的 bin 计算组中数字列的直方图。输出是表示 bin 中心和高度的双值 (x,y) 坐标的大小为 b 的数组

array

collect_set(col)

返回一组消除了重复元素的对象,可实现去重作用

Hive0.13.0

array

collect_list(col)

返回具有重复项的对象列表,(从 Hive 0.13.0 开始。)

Hive0.11.0

INTEGER

ntile(INTEGER x)

将一个有序的分区分成 x 个称为桶的组,并为分区中的每一行分配一个桶号。这允许轻松计算三分位数、四分位数、十分位数、百分位数和其他常见的汇总统计数据。 (从 Hive 0.11.0 开始。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hive(5):数据定义语言(DDL)

1 数据定义语言&#xff08;DDL&#xff09;概述 1.1 DDL语法的作用 数据定义语言 (Data Definition Language, DDL)&#xff0c;是SQL语言集中对数据库内部的对象结构进行创建&#xff0c;删除&#xff0c;修改等的操作语言&#xff0c;这些数据库对象包括database&#xff…

面试官问 ,Mybatis SELECT 查询, 集合或者单个对象,如果数据库不存在数据,需要判空吗?

前言 于昨日下班时段&#xff0c;本人正在与生活作斗争&#xff0c;收到了金三银四一线作战小队成员紧急反应的战况问题。 不熟悉的或者是不知道怎么去看源码的看官&#xff0c;上车了。 正文 这面试题问的&#xff0c; 考察的是什么&#xff1f; ① mybatis框架的应用掌握情…

如何实现报表集成?(三)——资源集成

在上一篇&#xff0c;我们介绍了用户同步和单点登录&#xff0c;帮助用户了解什么是用户同步、如何做用户验证&#xff0c;以及如何实现单点登录。 这一篇&#xff0c;我们看下如何做资源集成。行文过程中得到了来自报表软件厂商 Smartbi 的报表产品&#xff1a;电子表格软件的…

leetcode-每日一题-1663-具有给定数值的最小字符串(简单,贪心)

很久没有做过贪心类型的题目了&#xff0c;因为用的很少&#xff0c;大多都用的dp&#xff0c;这道题第一眼看过去以为是dp&#xff0c;因为力扣里面的中等题很多都是dp&#xff0c;但仔细一看发现是贪心&#xff0c;思路其实很简单&#xff0c;先全部最小&#xff0c;中间插一…

机械设备ERP系统可以给企业带来哪些好处?

随着信息化技术的进步与智能制造的发展趋势&#xff0c;很多制造企业也在一直探寻适合自己的信息化管理转型之路。机械设备EPR系统对于机械设备制造企业来说就是关键一环。要充分发挥出机械设备ERP系统的赋能作用&#xff0c;必不可少的是从生产制造的各个环节出发&#xff0c;…

ONLYOFFICE 文档 v7.3 现已发布:表单角色、SmartArt、安全性设置、查看窗口等功能

在 ONLYOFFICE 最新版本的在线编辑器中现已提供高级表单、SmartArt 图形插入、增强密码保护和公式计算、幻灯片特殊粘贴项等多项功能。继续阅读以了解所有更新。 字段填写接收人角色 现在&#xff0c;数字表单将更加高效。您可为需要填写表单的用户分配各种角色&#xff0c;简…

中医名词看不懂?用PaddleNLP做一个中医“百科全书”

我是一个深度学习爱好者&#xff0c;目前对自然语言处理感兴趣&#xff0c;热衷于了解一些人工智能中的数学推导和经典论文复现&#xff0c;正在成长的“小趴菜”一枚&#xff0c;在PPDE指导计划中&#xff0c;创作了中医文献阅读理解项目&#xff0c;下面将由我介绍在项目创作…

Java开发面试(技术面)经历 (二)

2022-11-08&#xff0c;应聘Java开发 &#xff1a;云智慧&#xff08;实训机构&#xff0c;个人观点&#xff0c;与培训没区别&#xff09; 今天二面技术面&#xff0c;问了一些问题 1.集合有哪些&#xff1f; 两大容器如图&#xff1a;Collection集合 list下面还有Vector&…

Veeam Backup Replication v12 发布 (含下载) - 面向所有工作负载的备份软件

Veeam Availability Suite v12 请访问原文链接&#xff1a;https://sysin.org/blog/veeam-backup-12/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;www.sysin.org 全球首屈一指的备份和恢复提供商 管理、控制、保护您的 数据&#xff…

数字化基本概念

数字化是什么&#xff1f;为什么要做数字化转型&#xff1f;感觉只是用计算机软件替代了原有的工作和流程。 听多了&#xff0c;每天的工作也被冠以数字化&#xff0c;说来很重要&#xff0c;确是不清楚为何&#xff0c;也来了解一下。 数字化&#xff1a;改变做事方式、发…

分享企业做微信小程序开发的步骤_公司如何申请微信小程序步骤

对于小程序新手来说&#xff0c;想要建立一个小程序&#xff0c;第一步就是要拥有一个小程序。那么如何开通小程序&#xff1f;公司小程序如何申请&#xff1f;今天就来手把手教你们如何开通小程序吧&#xff1a; 一、填写帐号信息 到微信公众平台首页&#xff0c;直接点击帐号…

android——开发中哪些习惯会影响卡顿的发生

开发中哪些习惯会影响卡顿的发生&#xff0c;如下&#xff1a;1.布局太乱&#xff0c;层级太深。1.1&#xff1a;通过减少冗余或者嵌套布局来降低视图层次结构。比如使用约束布局代替线性布局和相对布局。1.2&#xff1a;用 ViewStub 替代在启动过程中不需要显示的 UI 控件。1.…

C#学习记录——C# winform程序怎么打包成安装项目(VS2019图解)

今天学习将Winform程序打包成安装项目&#xff0c;参考网上教程&#xff0c;并记录尝试过程。 测试打包的程序为用C# Winform开的的一个客户端程序。 1、安装打包插件 在程序打包之前需要安装Microsoft Visual Studio Installer Projects插件。 1.1、选择扩展管理 在VS2019…

(面经四):笔试

面试经历&#xff08;四&#xff09; 时间&#xff1a;2022-11-14 笔试 &#xff08;培训机构真该洗啊&#xff0c;写完后根本不看你写的笔试&#xff0c;直接给你说送你去培训&#xff0c;技术什么都没有问&#xff0c;直接拿着你的简历画画&#xff0c;画什么实训和培训的不同…

Docker建立自己的私有仓库

仓库&#xff08;Repository&#xff09;是集中存放镜像的地方。 一个容易混淆的概念是注册服务器&#xff08;Registry&#xff09;。实际上注册服务器是管理仓库的具体服务 器&#xff0c;每个服务器上可以有多个仓库&#xff0c;而每个仓库下面有多个镜像。从这方面来说&am…

Python学习------起步3(序列与数据类型转换)

目录 序列 1.切片 2.列表&#xff08;list&#xff09; 3.元组 数据类型转换 习题 好了&#xff0c;今天就开始序列的学习了&#xff0c;其实在C语言里面我们学过数组或者字符数组&#xff0c;Python中的序列跟它们一样是一种数据的储存方式&#xff0c;其中学习过程也是比…

LeetCode动态规划(九):完全背包(初级)

学习目标&#xff1a; 理解完全背包和0-1背包遍历顺序的区别 学习内容&#xff1a; 15. LeetCode377. 组合总和 Ⅳhttps://leetcode.cn/problems/combination-sum-iv/ 16. 爬楼梯(进阶班版) 17. LeetCode322. 零钱兑换https://leetcode.cn/problems/coin-change/ 18. Leet…

winform发布功能附加dll、db、xml、json等文件

我们日常进行程序的更新升级可能会用到winform的发布功能&#xff0c;但有些文件可能会无法伴随着发布一同发布出去或者每次发布后文件的数据被覆盖&#xff0c;下面一起看一下怎么解决&#xff1a; winform发布功能参考我另一篇文章https://blog.csdn.net/qq_39569480/articl…

筑基四层 —— 详解三子棋和扫雷

目录 一.修炼必备 二.三子棋详解 三.扫雷详解 四.三子棋和扫雷的完整代码 &#xff01;&#xff01;&#xff01;恭喜你&#xff0c;成功突破至筑基四层&#xff01;&#xff01;&#xff01; 一.修炼必备 1.入门必备&#xff1a;VS2019社区版&#xff0c;下载地址&#xff…

leetcode51,52 N皇后相关(回溯方法)

题目1&#xff1a;N皇后 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题…