阿里云MaxComputer SQL学习之DDL

x33g5p2x  于2022-02-07 转载在 其他  
字(3.0k)|赞(0)|评价(0)|浏览(492)

💝 今天我们介绍一下大数据引擎MaxComputer的一些特点,以及MaxComputer SQL的一些特点。有对hive sql 感兴趣的同学可以查看下面的内容👇:

🐯MaxComputer是企业级的大数据引擎,那他在实际生产过程有哪些规则需要注意的呢?MaxComputer SQL有哪些需要注意的地方呢?接下来将进行细致的讲解。

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是指数据定义语言,主要是包括一下几个部分的操作:

  1. 表操作:创建、修改、删除、查看
  2. 分区和列操作: 添加、修改、删除
  3. 生命周期操作:创建、修改、禁止/恢复
  4. 视图操作:创建、删除

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. 参考资料

《阿里云全球培训中心MaxComputer》

相关文章