可视化管理内部表、外部表或视图

MaxCompute Studio的Project Explorer提供了可视化编辑器,可以帮助您快速在MaxCompute项目中创建内部表、外部表或视图。本文为您介绍如何通过Project Explorer可视化创建、修改、查看和删除内部表、外部表或视图。

背景信息

创建内部表、外部表或视图

  1. 在IntelliJ IDEA界面的左侧导航栏,单击Project Explorer,右键单击目标MaxCompute项目下的Tables & Views,选择Create new table

  2. 创建表/视图对话框,根据实际情况创建内部表、外部表或视图,并配置相应信息。

    • 创建内部表或外部表创建表

      您可以通过如下两种方式添加内部表或外部表:

      • (推荐)方式一:通过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 HandlerSERDEPROPERTIESLocationUsing属性。更多属性配置信息,请参见创建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中的脚本为准创建视图。

  3. 创建表/视图对话框,单击执行,提示SUCCESS后,单击OK完成创建。

    说明

    可视化建内部表、外部表或视图时,默认使用如下两个全局属性:

    • odps.sql.submit.mode=script:表示使用脚本模式提交建表任务的命令。

    • odps.sql.type.system.odps2=true:表示使用2.0类型数据。

  4. 右键单击目标MaxCompute项目下的Tables & Views,选择Refresh meta更新表或视图信息后,即可在列表中看到新建的内部表、外部表或视图。

修改内部表或外部表

说明

不支持修改视图。

  1. 在IntelliJ IDEA界面的左侧导航栏,单击Project Explorer,在目标MaxCompute项目的Tables & Views下,右键单击需要修改的内部表或外部表,选择Open table editor

  2. 修改表对话框,对表进行编辑。

    您可以修改表名称、表注释、生命周期、列名称和列注释;添加列、索引及其他表属性。详细参数解释,请参见创建内部表、外部表或视图修改表

  3. 修改表对话框,单击执行,完成修改。

  4. 右键单击目标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,即可实现清除非分区表数据或删除分区表中指定分区。

删除内部表、外部表或视图

  1. 在IntelliJ IDEA界面的左侧导航栏,单击Project Explorer,在目标MaxCompute项目的Tables & Views下,右键单击需要删除的内部表、外部表或视图,选择Drop table from server

    删除表
  2. Confirmation Required对话框,单击OK,即可从MaxCompute项目中删除内部表、外部表或视图。

  3. 右键单击目标MaxCompute项目下的Tables & Views,选择Refresh meta更新信息后,列表中将无法查看到删除的内部表、外部表或视图。