🐯MaxComputer是企业级的大数据引擎,那他在实际生产过程有哪些规则需要注意的呢?MaxComputer SQL有哪些需要注意的地方呢?接下来将进行细致的讲解。
目录
- 1.MaxComputer介绍
- 1.1 MaxComputer的架构
- 1.2 MaxComputer的使用流程
- 2. MaxComputer SQL
- 2.1 MaxComputer的数据类型
- 2.2 MaxComputer SQL介绍
- 2.2 MaxComputer SQL DDL
- 2.2.1 建表语句
- 2.2.2 删除表
- 2.2.3 修改表
- 2.2.4 分区操作 Partition
- 2.2.5 修改生命周期
- 2.2.6 视图操作
- 3. 总结
- 4. 参考资料
1.MaxComputer介绍
MaxComputer是阿里云设计的一种快速的、完全托管的EB级数据仓库解决方案。主要作用是:
- 致力于批量结构话数据的存储和计算,提供海量数据数据仓库的解决方案及分析建模服务。
- 适用于100GB以上规模的存储和计算需求,最大可达EB级别。
- 支持SQL、MapReduce、 UDF (Java/Python)、Graph、基于DAG的处理、交互式、内存计算、机器学习等计算类型及MP!迭代类算法。简化了企业大数据平台的应用架构。
1.1 MaxComputer的架构
MaxComputer的架构主要为4层:
其中我们说一下计算层:计算层用的是飞天内核,实现用户数据存储和计算任务,仔细看一下,是不是和hadoop的生态很像!
1.2 MaxComputer的使用流程
本文我们主要讲述数据处理的部分。
2. MaxComputer SQL
MaxCompute SQL是个数据仓库工具,采用的是淡似于SQL的语法,是标准语法ANSISQL92的一个子集,并有自己的扩展支持常用的 SQL 语法,包括窗口函数,适用于海量数据(TB/PB级别)的数据运算。特征如下:
- 不等同于关系数据库,不支持事务、主外键约束、索引等语法。
- Query 解析后,计算和存储交由底层的飞天实现。
- 任务准备、提交等阶段要花费较长时间,实时性不高。
- SQL 长度有限制,目前是不能超过 2MB
2.1 MaxComputer的数据类型
下面的数据类型请大家牢记在心!!!
2.2 MaxComputer SQL介绍
MaxComputer SQL是什么?
- 是一个数据仓库的工具(hive类似)
- 类似sql的语法,但有不同,并有自己拓展
- 支持常用的SQL语法,和窗口函数
- 适用于海量数据(TP/BP级别)的运算
MaxComputer SQL 特征
- 不等同于关系数据库,不支持事务、主外键约束、索引等语法。
- Query解析后,计算和存储教由底层的飞天实现(相当于hive和MapReduce、HDFS的关系。)
- 任务准备、提交阶段花费时间多
- SQL时间有限。
- 没有delete和update语句。
2.2 MaxComputer SQL DDL
DDL是指数据定义语言,主要是包括一下几个部分的操作:
- 表操作:创建、修改、删除、查看
- 分区和列操作: 添加、修改、删除
- 生命周期操作:创建、修改、禁止/恢复
- 视图操作:创建、删除
2.2.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];
- 快捷建表
--as 建表
CREATE TABLE <table_name> AS SELECT <column_list> FROM ‹table_name> WHERE ...;
--like建表
CREATE TABLE <table_name> LIKE ‹table name>;
AS和LIKE:
- 数据:
AS可以带入数据,可以依赖于多张表。
LIKE只能复制单张表的结构,不能代入数据。 - 属性:
AS不能带入生命周期、分区键等信息、注释。
LIKE不能带入生命周期、可以带入分区键、注释等信息。
2.2.2 删除表
--删除表
DROP TABLE [IF EXISTS] table_name;
2.2.3 修改表
--添加列:
ALTER TABLE <table_name> ADD COLUMNS (<co1_name1> ‹type1>, ‹col_name2> ‹type2>
...]) ;
--改列名:
ALTER TABLE <table_name> CHANGE COLUMN <old_col_name> RENAME TO <new_col_name> ;
--该列注释:
ALTER TABLE <table_name> CHANGE COLUMN <col_name> COMMENT "‹col_comment>"
:
2.2.4 分区操作 Partition
--添加分区
ALTER TABLE <table_name> ADD [IF NOT EXISTS] PARTITION ‹pt spec> [PARTITION <pt_spec>
PARTITION <pt_spec>...];
--删除分区
ALTER TABLE <table_name> DROP [IF EXISTS] PARTITION <partition_filtercondition>;
2.2.5 修改生命周期
--创建表时指定表的生命周期
CREATE TABLE <table_name> (<col_spec>) LIFECYCLE days ;
--修改表的生命周期
ALTER TABLE <table_name> SET LIFECYCLE days
--禁止或恢复生命周期。
ALTER TABLE <table_name> DISABLE LIFECYCLE
ALTER TABLE <table_name> ENABLE LIFECYCLE
--修改更新时间
ALTER TABLE <table_name> TOUCH PARTITION (<pt_spec>);
2.2.6 视图操作
--创建视图:
CREATE [OR REPLACE] VIEW [IF NOT EXISTS] view_name
[ (col name [COMMENT col comment], ...)]
[COMMENT view_comment]
[AS select_statement]
--删除视图
DROP VIEW [IF NOT EXISTS] view_name;
--重命名视图
ALTER VIEW view_name RENAME TO new_view_name;
3. 总结
本来这里应该给大家演示一下利用MaxComputer处理数据表的步骤,但是发现DDL语句较多,演示起来每个部分会很乱,就不做展示了,但是可以给大家看一下阿里云的客户端:
- 这是自己安装的odps客户端:
- 这是DataWorks
这里需要注意的点主要有两个: - MaxComputer SQL的数据类型
- 没有delete和update语句
4. 参考资料