MaxCompute Studio的Project Explorer提供了可视化编辑器,可以帮助您快速在MaxCompute项目中创建内部表、外部表或视图。本文为您介绍如何通过Project Explorer可视化创建、修改、查看和删除内部表、外部表或视图。
背景信息
MaxCompute Studio支持的表或视图操作如下:
创建内部表、外部表或视图
在IntelliJ IDEA界面的左侧导航栏,单击Project Explorer,右键单击目标MaxCompute项目下的Tables & Views,选择Create new table。
在创建表/视图对话框,根据实际情况创建内部表、外部表或视图,并配置相应信息。
创建内部表或外部表
您可以通过如下两种方式添加内部表或外部表:
(推荐)方式一:通过SQL脚本创建表。需要配置的信息如下。
参数名称
说明
SQL DDL SCRIPT
如果您需要通过编写SQL脚本的方式创建表,手动在SQL DDL SCRIPT区域编写SQL脚本即可,无需配置其他参数。建表语法请参见创建表。
方式二:通过配置表参数的方式创建表。需要配置的参数信息如下。
参数名称
说明
创建表
新建内部表或外部表的名称。
选中外部表,表示创建外部表。不选中外部表和视图,表示创建内部表。
选中仅当不存在时创建时,只要存在同名内部表或外部表,即使原表的结构与要创建的目标表结构不一致,均返回成功。但已存在的同名表的元数据信息不会被改动。
注释
内部表或外部表的注释信息。
生命周期
内部表或外部表的生命周期,单位为天。
以AliOrc格式存储
内部表或外部表的存储格式。
以后表为模板创建
通过MaxCompute项目中已存在的其他表创建新表,新表与其他表具备相同的结构,但不复制其他表的数据及生命周期信息。您可以在下拉列表选择其他表,等效于如下语句。
create table table_name like model_table;
数据列
手动添加内部表或外部表的非分区列。在数据列区域右侧单击图标即可添加非分区列,但添加的列名称(name)、列类型(type)、非空属性(not null)及列注释(comment)是自动生成的,您需要根据实际需求手动调整。
分区列
手动添加内部表或外部表的分区列。在分区列区域右侧单击图标即可添加分区列,但添加的列名称(name)、列类型(type)及列注释(comment)是自动生成的,您需要根据实际需求手动调整。
索引
当内部表或外部表需要具备Hash属性或Range属性时,需要配置该参数。
外部表
配置外部表的Storage Handler、SERDEPROPERTIES、Location、Using属性。更多属性配置信息,请参见创建OSS外部表。
AS SELECT
通过其他表创建内部表或外部表并复制数据,但不复制分区(分区转为普通列)及生命周期信息。
配置示例如下。
select col1, col2 from sale_detail;
最终效果等效于如下语句。
create table table_name (colname1, colname2) as select col1, col2 from sale_detail;
附加属性
手动添加内部表或外部表的其他属性信息。详细属性信息,请参见属性列表。
SQL DDL SCRIPT
填写上述参数后,SQL DDL SCRIPT区域会自动生成SQL脚本。
说明如果您手动修改了SQL DDL SCRIPT中的脚本信息,MaxCompute Studio以SQL DDL SCRIPT中的脚本为准创建表。
视图
您可以通过如下两种方式添加视图:
(推荐)方式一:通过SQL脚本创建视图。需要配置的信息如下。
参数名称
说明
SQL DDL SCRIPT
如果您需要通过编写SQL脚本的方式创建视图,手动在SQL DDL SCRIPT区域编写SQL脚本即可,无需配置其他参数。创建视图的语法请参见创建或更新视图。
方式二:通过配置视图参数的方式创建视图。需要配置的参数信息如下。
参数名称
说明
创建视图
新建视图的名称。
选中视图,表示创建视图。
选中仅当不存在时创建时,只要存在同名视图,即使原视图的结构与要创建的目标视图结构不一致,均返回成功。已存在的同名视图不会被改动。
选中如已存在则重新创建,表示如果已存在同名视图,则重新创建视图。
注释
新建视图的注释信息。
数据列
手动添加视图的列。在数据列区域右侧单击图标即可添加列。但添加的列名称(name)是自动生成的,您需要根据实际需求手动调整。
AS SELECT
通过其他表或视图创建视图,等效于如下语句。
create table view_name (colname1, colname2) as select col1, col2 from sale_detail;
SQL DDL SCRIPT
填写上述参数后,SQL DDL SCRIPT区域会自动生成SQL脚本。
说明如果您手动修改了SQL DDL SCRIPT中的脚本信息,MaxCompute Studio以SQL DDL SCRIPT中的脚本为准创建视图。
在创建表/视图对话框,单击执行,提示SUCCESS后,单击OK完成创建。
说明可视化建内部表、外部表或视图时,默认使用如下两个全局属性:
odps.sql.submit.mode=script
:表示使用脚本模式提交建表任务的命令。odps.sql.type.system.odps2=true
:表示使用2.0类型数据。
右键单击目标MaxCompute项目下的Tables & Views,选择Refresh meta更新表或视图信息后,即可在列表中看到新建的内部表、外部表或视图。
修改内部表或外部表
不支持修改视图。
在IntelliJ IDEA界面的左侧导航栏,单击Project Explorer,在目标MaxCompute项目的Tables & Views下,右键单击需要修改的内部表或外部表,选择Open table editor。
在修改表对话框,对表进行编辑。
您可以修改表名称、表注释、生命周期、列名称和列注释;添加列、索引及其他表属性。详细参数解释,请参见创建内部表、外部表或视图。
在修改表对话框,单击执行,完成修改。
右键单击目标MaxCompute项目下的Tables & Views,选择Refresh meta更新表信息后,即可在列表中查看到修改的内部表或外部表。
查看内部表、外部表或视图详细信息
查看内部表或外部表的详细信息
在目标MaxCompute项目的Tables & Views下,双击表名或在表名称上单击右键选择show table detail,即可查看到表的如下信息:
Table information:包括表所属目标MaxCompute项目、表的所有者、建表时间、最近一次更新时间等信息。
Table schema:包含表字段、字段类型、非空属性、默认值等信息。
表数据:在图示下方区域,设置Partitions(分区表需要设置,非分区表不涉及)及Preview rows(预览数据行数)后,单击Data Preview即可查看表数据。
查看视图的详细信息
在目标MaxCompute项目的Tables & Views下,双击视图名或在视图名称上单击右键选择show table detail,即可查看到视图对应的查询语句。
清空表数据或删除分区
在目标MaxCompute项目的Tables & Views下,右键单击目标表名,选择Truncate table/Delete partition,即可实现清除非分区表数据或删除分区表中指定分区。
删除内部表、外部表或视图
在IntelliJ IDEA界面的左侧导航栏,单击Project Explorer,在目标MaxCompute项目的Tables & Views下,右键单击需要删除的内部表、外部表或视图,选择Drop table from server。
在Confirmation Required对话框,单击OK,即可从MaxCompute项目中删除内部表、外部表或视图。
右键单击目标MaxCompute项目下的Tables & Views,选择Refresh meta更新信息后,列表中将无法查看到删除的内部表、外部表或视图。