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