摘要: MaxCompute发布了“ALIAS 命令”,提供了在不修改代码的前提下,在MapReduce或自定义函数(UDF) 代码中,通过某个固定的资源名读取不同资源(数据)的需求。

随着社会数据收集手段的不断丰富及完善,越来越多的行业数据被积累下来。数据规模已经增长到了传统软件行业无法承载的海量数据,达到百GB、TB乃至PB级别。

在分析海量数据场景下,由于单台服务器的处理能力限制,数据分析者通常采用分布式计算模式。但分布式的计算模型对数据分析人员提出了较高的要求,且不易维护。使用分布式模型,数据分析人员不仅需要了解业务需求,同时还需要熟悉底层计算模型。

MaxCompute的目的是为用户提供一种便捷的分析处理海量数据的能力,owner可以不必关心分布式计算细节,便可达到分析大数据的目的,这样一是减轻项目负责人的工作负担,也同时降低了企业对海量数据处理的专业人才成本。

在使用过程中,我们发现用户经常遇到这样的问题,如果一不小心写错了sql,对全表做了扫描,不仅影响效率还会对成本造成损失,因为对全表数据扫描是费用比较高的。

现在,MaxCompute发布了“ALIAS 命令”,提供了在不修改代码的前提下,在MapReduce或自定义函数(UDF) 代码中,通过某个固定的资源名读取不同资源(数据)的需求。

其实通俗的来讲就是允许项目owner对项目进行设置,可以通过允许或不允许来保障这个项目不被做全表扫描,可以节约成本,避免了初次使用MaxCompute的用户或者误操作而对全表做了扫描影响效率和成本发生。如果确实需要对全表扫描,可以把属性这里改为true,完成用户需要的全表扫描的操作。

具体操作如下:

以开关的形式,通过设置允许或禁止全表扫描。true为允许,false为禁止 项目级别控制:setproject odps.sql.allow.fullscan=false/true Session级别控制:set odps.sql.allow.fullscan=false/true

总体来说该功能对于项目owner来说,不仅可以避免资源浪费、控制计算成本,还能灵活应开启全表扫描分区表。

具体操作详情请戳这里: