MaxCompute实践之路(一) -- 原理简介

一.DataWorks

  1. DataWorks是基于MaxCompute计算和存储,提供工作流可视化开发、调度运维托管的一站式海量数据离线加工分析平台。您可以将DataWorks理解为MaxCompute的一种Web客户端,MaxCompute是DataWorks的一种计算引擎。
  2. MaxCompute和DataWorks提供完善的ETL、数据分析、数据地图、数据治理和数据仓库管理能力,并支持SQL、MapReduce、Graph等多种经典的分布式计算模型,能够更快速地解决用户海量数据计算问题,有效降低企业成本,保障数据安全。

二.MaxCompute

MaxCompute(ODPS)是适用于数据分析场景的企业级SaaS(Software as a Service)模式云数据仓库,以Serverless架构提供快速、全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您可以经济并高效地分析处理海量数据。

MaxCompute的概念简介

  1. 分区:
    分区表是指拥有分区空间的表,即在创建表时指定表内的一个或者某几个字段作为分区列。分区表实际就是对应分布式文件系统上的独立的文件夹,一个分区对应一个文件夹,文件夹下是对应分区所有的数据文件。

  2. 限制:

  • 单表分区层级最多为6级。
  • 单表分区数最大值为60000个。
  • 单次查询允许查询最多的分区个数为10000个。
  • STRING分区类型的分区值不支持使用中文。
  1. 分区列的数据类型:
    MaxCompute 2.0数据类型版本支持的分区字段为TINYINT、SMALLINT、INT、BIGINT、VARCHAR、STRING。
    MaxCompute 1.0数据类型版本支持的分区字段仅有STRING。虽然可以指定分区列的类型为BIGINT,但是除了表的字段显示为BIGINT类型,任何其他情况(例如,字段的计算和比较)下都当作STRING类型处理。执行如下语句后,返回的结果只有一行。
--创建一个二级分区表,以日期为一级分区,地域为二级分区
CREATE TABLE src (shop_name string, customer_id bigint) PARTITIONED BY (pt string,region string);

--正确使用方式。
MaxCompute在生成查询计划时只会将'20170601'分区下region为'hangzhou'二级分区的数据纳入输入中。
select * from src where pt='20170601'and region='hangzhou'; 

--错误的使用方式。
在这样的使用方式下,MaxCompute并不能保障分区过滤机制的有效性。pt是STRING类型,当STRING类型与BIGINT(20170601)比较时,MaxCompute会将二者转换为DOUBLE类型,此时有可能会有精度损失。
select * from src where pt = 20170601; 
  1. 生命周期

MaxCompute表的生命周期(Lifecycle),指表(分区)数据从最后一次更新的时间算起,在经过指定的时间后没有变动,则此表(分区)将被MaxCompute自动回收。这个指定的时间就是生命周期。

概念详情见阿里云官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值