本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用重新 AWS CLI 建立 AWS Glue 資料庫及其表格
您無法直接重新命名 AWS Glue 資料庫,但您可以複製其定義、修改定義,以及使用定義來重新建立具有不同名稱的資料庫。同樣地,您可以複製舊資料庫中資料表的定義、修改定義,並使用修改後的定義重新建立新資料庫中的資料表。
注意
顯示的方法不會複製資料表分割區。
Windows 的下列程序假設您 AWS CLI 已針對JSON輸出進行設定。若要變更中的預設輸出格式 AWS CLI,請執行aws configure
。
若要使用複製 AWS Glue 資料庫 AWS CLI
-
在命令提示字元中,執行下列 AWS CLI 命令以擷取要複製之 AWS Glue 資料庫的定義。
aws glue get-database --name
database_name
如需有關
get-database
命令的詳細資訊,請參閱 get-database。 -
將JSON輸出儲存至具有新資料庫名稱的檔案 (例如,
) 至桌面。new_database_name
.json -
在文字編輯器中開啟
檔案。new_database_name
.json -
在JSON檔案中,執行下列步驟:
-
刪除文件末尾的外部
{ "Database":
條目和相應的右括號}
。 -
將
Name
項目變更為新的資料庫名稱。 -
移除
CatalogId
欄位。
-
-
儲存檔案。
-
在命令提示字元中,執行下列 AWS CLI 命令,以使用修改後的資料庫定義檔案,以新名稱建立資料庫。
aws glue create-database --database-input "file://~/Desktop\
new_database_name
.json"如需有關
create-database
命令的詳細資訊,請參閱 create-database。若要取得有關從檔案載入 AWS CLI 參數的資訊,請AWS CLI 參閱《AWS Command Line Interface 使用指南》中的〈從檔案載入參數〉。 -
若要驗證是否已在中建立新資料庫 AWS Glue,請執行下列命令:
aws glue get-database --name
new_database_name
現在,您已準備好取得要複製到新資料庫的資料表的定義、修改定義,並使用修改後的定義在新資料庫中重新建立資料表。此程序不會變更資料表名稱。
若要使用複製 AWS Glue 表格 AWS CLI
-
在命令提示字元中,執行下列 AWS CLI 命令。
aws glue get-table --database-name
database_name
--nametable_name
如需有關
get-table
命令的詳細資訊,請參閱 get-table。 -
將JSON輸出儲存至具有表格名稱的檔案 (例如,
table_name
.json)到您的視窗桌面。 -
在文字編輯器中開啟該檔案。
-
在JSON檔案中,移除檔案結尾的外部
{"Table":
項目和對應的右括號}
。 -
在JSON檔案中,移除下列項目及其值:
-
DatabaseName
— 此項目不是必要項目,因為create-table
CLI指令會使用--database-name
參數。 -
CreateTime
-
UpdateTime
-
CreatedBy
-
IsRegisteredWithLakeFormation
-
CatalogId
-
VersionId
-
-
儲存資料表定義檔案。
-
在命令提示字元中,執行下列 AWS CLI 命令,在新資料庫中重新建立資料表:
aws glue create-table --database-name
new_database_name
--table-input "file://~/Desktop\table_name
.json"如需有關
create-table
命令的詳細資訊,請參閱 create-table。 表格現在會顯示在中的新資料庫中, AWS Glue 並且可以從 Athena 查詢。
-
重複步驟,以將每個其他資料表複製到 AWS Glue中的新資料庫。