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