提示
Hive SQL 教程 欢迎使用。提供建议、纠错、催更等加作者微信: gairuo123(备注:sql )和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
本文介绍的这些函数为将聚合后的内容处理为一个字段的内容,这个字符会按一定的数据结构呈现,以下这些都是一进一出函数。 ## 内置汇总功能(UDAF) Hive支持以下内置的聚合函数:
返回类型 |
语法 |
功能说明 |
---|---|---|
BIGINT |
count(*), count(expr), count(DISTINCT expr[, expr...]) |
|
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) |
返回组中一对数字列的皮尔逊相关系数。 |
DOUBLE |
percentile(BIGINT col, p) |
返回组中列的精确 pth 百分位数(不适用于浮点类型)。 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]) |
返回组中数值列(包括浮点类型)的近似第 pth 个百分位数。B参数以内存为代价控制近似精度。较高的值会产生更好的近似值,默认值为10000。当col中不同值的数量小于B时,这会给出一个精确的百分位值。 |
array<double> |
percentile_approx(DOUBLE col, array(p1 [, p2]...) [, B]) |
同上,但接受并返回一个百分位值数组,而不是单个百分位值。 |
double |
regr_avgx(independent, dependent) |
等同于 avg(dependent). 始于 Hive 2.2.0. |
double |
regr_avgy(independent, dependent) |
等同于 avg(independent). 始于 Hive 2.2.0. |
double |
regr_count(independent, dependent) |
返回用于拟合线性回归线的非空对数。始于 Hive 2.2.0. |
double |
regr_intercept(independent, dependent) |
返回线性回归线的 y 截距,即相当于 dependent = a * independent + b. 始于 Hive 2.2.0. |
double |
regr_r2(independent, dependent) |
返回回归的确定系数,始于 Hive 2.2.0. |
double |
regr_slope(independent, dependent) |
返回线性回归线的斜率,即方程中a的值 dependent = a * independent + b. 始于 Hive 2.2.0. |
double |
regr_sxx(independent, dependent) |
相当于 regr_count(independent, dependent) * var_pop(dependent). 始于 Hive 2.2.0. |
double |
regr_sxy(independent, dependent) |
相当于 regr_count(independent, dependent) * covar_pop(independent, dependent). 始于 Hive 2.2.0. |
double | regr_syy(independent, dependent) |
相当于 regr_count(independent, dependent) * var_pop(independent). 始于 Hive 2.2.0. |
array<struct { |
histogram_numeric(col, b) |
使用b个非均匀间隔的容器计算组中数字列的直方图。输出是一个大小为b的双值(x,y)坐标数组,代表箱子的中心和高度 |
array |
collect_set(col) |
返回消除了重复元素的一组对象。 |
array |
collect_list(col) |
返回包含重复项的对象列表. (始于 0.13.0.) |
INTEGER | ntile(INTEGER x) |
将有序分区划分为x个组(称为bucket),并为分区中的每一行分配一个bucket编号。这允许轻松计算三分位数、四分位数、十分位数、百分位数和其他常见的汇总统计数据. (始于 Hive 0.11.0.) |
更新时间:2022-03-10 19:17:12 标签:sql 聚合 hive