BigData:MaxCompute大数据计算服务(阿里巴巴开发/原ODPS/云计算分布式)的简介(基本概念/功能/流程图)、使用方法之详细攻略
目录
背景—传统分布式计算的弊端
MaxCompute(大数据计算服务)的简介
1、基本概念
2、MaxCompute使用流程图
3、MaxCompute能干什么—MaxCompute支持的功能
(1)、数据上传和下载通道
(2)、计算及分析任务
(3)、Spark on MaxCompute
(4)、ElasticSearch on MaxCompute
(5)、SDK
(6)、安全解决方案
MaxCompute(大数据计算服务)的使用方法
1、MaxCompute的SQL语法基本命令
(1)、创建表
(2)、获取表信息
(3)、删除表
2、SQL命令
(1)、Select语句
(2)、Insert语句
(3)、Join语句
背景—传统分布式计算的弊端
随着社会数据收集手段的不断丰富及完善,越来越多的行业数据被积累下来。数据规模已经增长到了传统软件行业无法承载的海量数据(百GB、TB、乃至PB)级别。 在分析海量数据场景下,由于单台服务器的处理能力限制,数据分析者通常采用分布式计算模式。但分布式的计算模型对数据分析人员的能力要求较高, 且不宜维护。使用分布式模型,数据分析人员不仅需要了解业务需求,同时还需要熟悉底层计算模型。
MaxCompute(大数据计算服务)的简介
MaxCompute是一款由中国阿里巴巴集团开发的大数据处理平台。MaxCompute最初于由阿里巴巴旗下的数据技术团队提出,最初被称为ODPS(阿里巴巴云计算平台)。,ODPS更名为MaxCompute,并于正式推出。
MaxCompute采用分布式计算技术和基于云计算的架构,可用于存储和处理大规模结构化和非结构化数据。MaxCompute还提供了一系列工具和算法,支持数据分析、机器学习、人工智能等领域的应用。MaxCompute是阿里云的核心产品之一,被广泛应用于电子商务、金融、物流等行业。
大数据计算服务(MaxCompute)是阿里巴巴自主研发的海量数据处理平台,主要提供数据上传和下载通道,提供SQL及MapReduce等多种计算分析服务,同时还提供完善的安全解决方案。MaxCompute主要服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。
1、基本概念
2、MaxCompute使用流程图
3、MaxCompute能干什么—MaxCompute支持的功能
MaxCompute的目的是为用户提供一种便捷的分析处理海量数据的手段。用户可以不必关心分布式计算细节,从而达到分析大数据的目的。MaxCompute已经在阿里巴巴集团内部得到大规模的应用,例如:大型互联网企业的数据仓库和BI分析、网站的日志分析、电子商务网站的交易分析、用户特征和兴趣挖掘等。
(1)、数据上传和下载通道
- Tunnel:提供高并发的离线数据上传和下载服务。用户可以使用Tunnel服务向MaxCompute
批量上传数据,或者将数据从MaxCompute下载到本地。Tunnel仅提供Java编程接口供用户
使用。
- DataHub:向用户提供数据的实时上传和下载的功能。与Tunnel服务不同,通过DataHub上
传的数据会即刻在用户数据中体现。
(2)、计算及分析任务
●SQL:MaxCompute只能以表的形式存储数据,并且对外提供了SQL查询功能。用户可以将MaxCompute作为传统的数据库软件操作,但其却能处理TB、PB级别的海量数据。需要注意,MaxCompute SQL不支持事务、索引及Update/Delete等操作。同时MaxCompute的SQL语法与Oracle、MySQL有一定差别,用户无法将其他数据库中的SQL语句无缝迁移到MaxCompute上来。此外,在使用方式上,MaxCompute SQL最快可以在分钟或者秒级别完成查询,无法在毫秒级别返回查询结果。MaxCompute SQL的优点体现在用户的学习成本低,用户不需要了解分布式概念,具备数据库操作经验的用户可以快速熟悉MaxCompute SQL的使用。
●MapReduce:MapReduce最早是由Google提出的分布式数据处理模型,随后受到了业内的广泛关注,并被大量应用到各种商业场景中。使用MapReduce的用户需要对分布式概念有基本了解,并有对应的编程经验。MapReduce为用户提供Java编程接口。
●Graph:MaxCompute提供的Graph功能是一套面向迭代的图计算处理框架。图计算作业使用图进行建模,图由点(Vertex)和边(Edge)组成,点和边包含权值(Value)。通过迭代对图进行编辑、演化,最终求解出结果,典型应用有:PageRank、单源最短距离算法、K- 均值聚类算法等。
●访问并处理非结构化数据(融合计算场景):MaxCompute团队依托MaxCompute系统架构,引入非结构化数据处理框架,解决MaxComputeSQL面对MaxCompute表外的各种用户数据时(例如:OSS上的数据),需要首先通过各种工具导入MaxCompute表,才能在其上面进行计算,无法直接处理的问题。目前,MaxCompute支持通过创建外部表,对如下九种的数据源进行处理:
■ 内部数据源:OSS、TableStore、AnalyticDB、RDS、HDFS(内部)、TDDL。
■ 外部数据源:HDFS(开源)、MongoDB、Hbase。
●访问并处理非结构化数据(内部):通过支持读写Volume,打通了MaxCompute系统内部存储的非结构化处理,解决了非结构化数据只能存储在外部存储系统的问题。
(3)、Spark on MaxCompute
Spark on MaxCompute是阿里云开发的大数据分析引擎,为阿里内部用户、政企客户提供大数据处理能力。详情请参见:Spark on MaxCompute。
(4)、ElasticSearch on MaxCompute
ElasticSearch on MaxCompute是阿里云开发的企业级海量数据检索系统,用于海量数据的全文检索,为政企用户提供近实时搜索性能的海量数据检索服务。详情请参见:ElasticSearch on MaxCompute。
(5)、SDK
提供给开发者的工具包,SDK的相关介绍请参见:Java SDK。
(6)、安全解决方案
MaxCompute提供了功能强大的安全服务,为用户的数据安全提供保护。
MaxCompute(大数据计算服务)的使用方法
1、MaxCompute的SQL语法基本命令
(1)、创建表
CREATE TABLE [IF NOT EXISTS] table_name[(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment][PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [LIFECYCLE days][AS select_statement]CREATE TABLE [IF NOT EXISTS] table_nameLIKE existing_table_namecreate table test1 (key string);-- 创建非分区表create table test2 (key bigint) partitioned by (pt string, ds string);-- 创建分区表create table test3 (key boolean) partitioned by (pt string, ds string) lifecycle 100;-- 创建带有生命周期的表create table test4 like test3;-- 除生命周期属性外,test3的其他属性(字段类型,分区类型等)均与test4完全一致create table test5 as select * from test2;-- 创建test5,但分区,生命周期信息不会被拷贝到目标表中。且仅会将test2的数据复制到test5中。
(2)、获取表信息
desc <table_name>;desc test3;-- 获取test3信息。desc test4;-- 获取test4信息。
(3)、删除表
删除表的命令为:DROP TABLE [IF EXISTS] table_name;删除表的示例如下,仅供参考:drop table test2;
2、SQL命令
(1)、Select语句
Select语句的使用有如下限制:
• group by语句的key可以是输入表的列名,也可以是由输入表的列构成的表达式,不可以
是select语句的输出列。
select substr(col2, 2) from tbl group by substr(col2, 2);-- 可以,group by的key可以是输入表的列构成的表达式。select col2 from tbl group by substr(col2, 2);-- 不可以,group by的key不在select语句的列中。select substr(col2, 2) as c from tbl group by c;-- 不可以,group by的key不可以是列的别名,即select语句的输出列。
(2)、Insert语句
Insert语句的使用有如下限制:
• 向某个分区插入数据时,分区列不可以出现在select列表中。
insert overwrite table sale_detail_insert partition (sale_date='', region='china')select shop_name, customer_id, total_price, sale_date, region from sale_detail;-- 返回失败,sale_date, region为分区列,不可以出现在静态分区的insert语句中。• 动态分区插入时,动态分区列必须在select列表中。insert overwrite table sale_detail_dypart partition (sale_date='', region) selectshop_name,customer_id,total_price from sale_detail;-- 返回失败,动态分区插入时,动态分区列必须在select列表中。
(3)、Join语句
本章节将简要介绍Join语句的使用限制。
Join操作有如下使用限制:
• MaxCompute SQL支持的Join操作类型包括:{LEFT OUTER|RIGHT OUTER|FULL > OUTER|INNER} JOIN。• MaxCompute SQL目前最多支持128个并发Join操作。
BigData:MaxCompute大数据计算服务(阿里巴巴开发/原ODPS/云计算分布式)的简介(基本概念/功能/流程图) 使用方法之详细攻略
如果觉得《BigData:MaxCompute大数据计算服务(阿里巴巴开发/原ODPS/云计算分布式)的简介(基本概》对你有帮助,请点赞、收藏,并留下你的观点哦!