失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > BigData:MaxCompute大数据计算服务(阿里巴巴开发/原ODPS/云计算分布式)的简介(基本概

BigData:MaxCompute大数据计算服务(阿里巴巴开发/原ODPS/云计算分布式)的简介(基本概

时间:2022-11-21 09:44:30

相关推荐

BigData:MaxCompute大数据计算服务(阿里巴巴开发/原ODPS/云计算分布式)的简介(基本概

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)是阿里巴巴自主研发的海量数据处理平台,主要提供数据上传下载通道,提供SQLMapReduce等多种计算分析服务,同时还提供完善的安全解决方案。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/云计算分布式)的简介(基本概》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。