大数据-玩转数据-MaxCompute 聚合函数

本文详细介绍了MaxCompute SQL中的聚合函数,包括AVG、COUNT、MAX、MIN等,并提到了在大数据量场景下如何计算百分位数和方差等统计指标。同时,文章强调了在使用聚合函数时的注意事项,如资源管理与新数据类型的支持,以及可能出现的内存溢出问题。
摘要由CSDN通过智能技术生成

一、说明

聚合(Aggregate)函数的输入与输出是多对一的关系,即将多条输入记录聚合成一条输出值,可以与MaxCompute SQL中的group by语句配合使用。

二、MaxCompute SQL支持的聚合函数

函数				功能
AVG				计算平均值。
COUNT			计算记录数。
COUNT_IF		计算指定表达式为True的记录数。
MAX				计算最大值。
MIN				计算最小值。
MEDIAN			计算中位数。
STDDEV			计算总体标准差。
STDDEV_SAMP		计算样本标准差。
SUM				计算汇总值。
WM_CONCAT		用指定的分隔符连接字符串。
ANY_VALUE		在指定范围内任选一个值返回。
APPROX_DISTINCT	返回输入的非重复值的近似数目。
ARG_MAX			返回指定列的最大值对应行的列值。
ARG_MIN			返回指定列的最小值对应行的列值。
COLLECT_LIST	将指定的列聚合为一个数组。
COLLECT_SET		将指定的列聚合为一个无重复元素的数组。
COVAR_POP			计算指定两个数值列的总体协方差。
COVAR_SAMP			计算指定两个数值列的样本协方差。
NUMERIC_HISTOGRAM	统计指定列的近似直方图。
PERCENTILE			计算精确百分位数,适用于小数据量。
PERCENTILE_APPROX	计算近似百分位数,适用于大数据量。
VARIANCE/VAR_POP	计算指定数值列的方差。
VAR_SAMP			计算指定数值列的样本方差。

三、注意事项

升级到MaxCompute 2.0后,产品扩展了部分函数。如果您用到的函数涉及新数据类型(TINYINT、SMALLINT、INT、FLOAT、VARCHAR、TIMESTAMP或BINARY),在使用扩展函数时,需要执行如下语句开启新数据类型开关:
Session级别:如果使用新数据类型,您需要在SQL语句前加上语句set odps.sql.type.system.odps2=true;,并与SQL语句一起提交执行。
Project级别:Project Owner可根据需要对Project进行设置,等待10~15分钟后才会生效。命令如下。
setproject odps.sql.type.system.odps2=true;
对setproject的详细说明请参见项目空间操作。关于开启Project级别数据类型的注意事项,请参见数据类型版本说明。

在同一条SQL语句中同时使用多个聚合函数时,如果项目资源不足,会出现内存溢出问题。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值