MaxCompute

  • 时间:
  • 浏览:0
  • 来源:神彩大发快3_彩神大发快3官方

CUBE会把GROUP BY列进行全量组合,即N个列会产生 2^N中组合,故不建议N的数目超过5。

肯能业务需求,还要总是对数据进行多维度的聚合分析,如既还要对a列做聚合也要对b列做聚合,同时也要按照a、b两列同时做聚合,什么都,不得不写什么都什么都的UNION ALL,但会 造成了什么都重复代码,维护起来不方便。

结果:

本文中什么都例子采用MaxCompute Studio作展示,这麼安装MaxCompute Studio的用户,还要参照wiki安装MaxCompute Studio,导入测试MaxCompute项目,创建工程。

默认情况表,GROUP BY列表中不被使用的列,会被填充为NULL。大家 还要通过GROUPING函数输出更有实际意义的值。如:

请注意:

类似于:

前面提到,系统在GROUPING SETS结果中用 NULL 用作占位符,当再次出现此情况表后,将无法区分占位符 NULL 与数据中真正的 NULL,针对你类似于 问題,MaxCompute提供了GROUPING 函数。

此外,MaxCompute还提供了GROUPING_ID函数,此函数接受有另另2个或多个列名作为参数。结果是将参数列的GROUPING结果按照BitMap的辦法 组成整数。如:

GROUPING 函数接受有另另2个列名作为参数,肯能结果对应行使用了参数列做聚合,返回0,此时由于NULL来自输入数据。但会 返回1,此时由于NULL是GROUPING SETS的占位符。

通过MaxCompute Studio的执行图,大家 还要看出,物理执行计划是做了3次聚合,但会 再UNION起来。

后来 解法,还要使用多个 SELECT 搞笑的话计算多个分组,但会 用UNION ALL把它们连接起来:

CUBE会枚举指定列的所有肯能组企业企业合作为GROUPING SETS。而ROLLUP会以按层级聚合的辦法 产生GROUPING SETS。

CUBE会把GROUP BY列进行全量组合,即N个列会产生 2^N中组合,目前大家 设置了GROUP BY列上限为13个。

第六弹向您介绍了User Defined Type,本篇将向您介绍MaxCompute对GROUPING SETS的支持。

GROUPING SETS语法还要做到相同的逻辑,同时,使用更少的代码,消耗更少的集群资源:

MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据出理 平台, 尤其在集团内内外部得到广泛应用,支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外,也致力于提升SQL语言的用户体验和表达能力,提高广大ODPS开发者的生产力。

该场景的问題,还要通过使用Grouping Sets要能非常好地出理 。

GROUPING SETS扩充了GROUP BY的聚合功能,在易用性,兼容性和性能方面,还要更好的满足您的需求。

如下例子:

输出结果:

准备数据。数据源requests表记录了某系统收到的请求。

MaxCompute中的GROUPING SETS功能是SELECT搞笑的话中GROUP BY子句的扩展。允许采用多种辦法 对结果分组,而不会说使用多个SELECT搞笑的话来实现你类似于 目的。从前要能使MaxCompute的引擎给出更有的执行计划,从而提高执行性能。

对于SQL比较熟悉的专家会发现,上述功能大主次是标准的SQL支持的功能。MaxCompute会持续提升与标准SQL和业界常用产品的兼容性。

CUBE和ROLLUP还要认为是特殊的GROUPING SETS。

场景

MaxCompute基于ODPS2.0新一代的SQL引擎,显著提升了SQL语言编译过程的易用性与语言的表达能力。大家 在此推出MaxCompute(ODPS2.0)重装上阵系列文章