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更新信息后,列表中將無法查看到刪除的內部表、外部表或視圖。