【大数据】MaxCompute概述
什么是MaxCompute
大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的GB/TB/PB级数据仓库解决方案。MaxCompute为您提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决海量数据计算问题,有效降低企业成本,并保障数据安全。
同时,DataWorks和MaxCompute关系紧密,DataWorks为MaxCompute提供了一站式的数据同步、任务开发、数据工作流开发、数据管理和数据运维等功能,详情请参见DataWorks(原大数据开发套件)。
功能概述
1、数据通道
支持批量、历史数据通道。Tunnel。
实时、增量数据通道。
2、计算及分析任务
支持多种计算模型:MaxCompute SQL(查询功能)
UDF:用户自定义函数(注意用了分区,就无法使用此功能)
3、MapReduce
MaxCompute MapReduce是MaxCompute提供的Java MapReduce编程模型,它可以简化开发流程,更为高效。与分布式计算概念有关系。
4、Graph
一套面向迭代的图计算处理框架。
5、SDK
SDK是MaxCompute提供给开发者的工具包。
6、安全
MaxCompute提供了功能强大的安全服务,为数据安全提供保护。
基本概念
Table | 数据存储单元(内部表和外部表) |
Console | 客户端工具,通过Console可以提交命令完成Project管理、DDL、DML等操作 |
Partition(分区) | 如果表没有分区,数据是直接放在表所在的目录下。如果表有分区,每个分区对应表下的一个目录,数据是分别存储在不同的分区目录下 |
fuxi | MaxCompute底层任务调度模块即fuxi的调度模块。 |
MapReduce | 处理数据的一种编程模型,通常用于大规模数据集的并行运算,先分片,Map(映射)后Reduce(规约,合并) |
Project | 基本组织单元 |
Resource | MaxCompute中特有的概念,MaxCompute的自定义函数(UDF)或MapReduce功能,都需要依赖资源来完成。 |
生命周期 LIFECYCLE | 数据从最后一次更新的时间算起,在经过指定的时间后没有变动,则此表(分区)将被MaxCompute自动回收 |
函数 | SQL计算功能,可用内建函数完成,也可自定义。 |
任务 | 基本计算单元,SQL及MapReduce功能都是通过任务完成的。一个任务会被划分成多个进程Worker共同完成执行阶段的计算工作。 DDL语句不是计算型的任务,不会被转化成task。例如项目空间(Project)、资源(Resource)、自定义函数(UDF)及实例(Instance)的操作均不需要通过MaxCompute的任务来完成 |
分区:
指定表内的某几个字段作为分区列。目前MaxCompute支持Tinyint、Smallint、Int、Bigint、Varchar和String分区类型。
资源(Resource)
传Jar包的过程就是在MaxCompute上创建资源的过程。
资源类型:File类型,Table类型,Jar类型,Archive类型。
与其它服务的集成
MaxCompute与DataWorks
DataWorks控制台即为MaxCompute控制台,DataWorks是基于MaxCompute计算和存储,提供工作流可视化开发、调度运维托管的一站式海量数据离线加工分析平台。DataWorks理解成MaxCompute的web客户端。
MaxCompute与数据集成
MaxCompute可以通过数据集成加载不同数据源数据。数据集成已经集成到DataWorks作为数据同步任务进行配置、运行,您可直接在DataWorks上配置MaxCompute数据源,再配置读取MaxCompute表或者写入MaxCompute。
MaxCompute与机器学习
可通过机器学习平台的算法组件对MaxCompute数据进行模型训练等操作。
MaxCompute与QuickBI
数据在MaxCompute进行加工处理后,将Project添加为QuickBI数据源,即可在QuickBI页面对MaxCompute表数据进行报表制作,实现数据可视化分析。
MaxCompute与OSS
对象存储OSS 是海量、安全、低成本、高可靠的云存储服务,MaxCompute2.0支持直接通过外部表方式访问表格存储中的表数据并进行处理,详情请参见访问OSS非结构化数据。
使用
客户端:推荐使用MaxCompute Studio工具。
或 使用阿里云IDE:也可以通过DataWorks使用MaxCompute。直接单击项目列表下对应项目的进入工作区进行操作。
导入数据的方式
1、客户端使用Tunnel命令
2、通过MaxCompute Studio工具可视化方式导入导出。
3、通过Tunnel提供的SDK自行编写java工具。
4、通过Flume及Fluentd插件方式导入。
分析方式,可参考此篇文章:点我。
sql
修改生命周期 | ALTER TABLE table_name SET lifecycle days;单位为天 |
禁止生命周期 | ALTER TABLE trans PARTITION(dt='20141111') DISABLE LIFECYCLE; |
数据类型
1.0版本:Bigint、Double、Boolean、Datetime、Decimal和String
MapReduce
分布式数据处理模型
处理流程:
分片(并行工作)→Map→Reduce(合并操作)。
功能:
1、作业提交
2、基本概念
3、输入和输出
4、资源使用
5、本地运行
数据迁移
致力于提供复杂网络环境下、丰富的异构数据源之间数据高速稳定的数据移动及同步能力。
DataWorks(MaxCompute开发套件)为MaxCompute提供了一站式的数据同步、任务开发、数据工作流开发、数据管理和数据运维等功能。
参考资料:官网