Utilizzare AWS CLI per ricreare un database AWS Glue e le relative tabelle
Non è possibile rinominare direttamente un database AWS Glue, ma è possibile copiarne la definizione, modificarla e utilizzarla per ricreare il database con un nome diverso. Analogamente, è possibile copiare le definizioni delle tabelle nel vecchio database, modificare le definizioni e utilizzare le definizioni modificate per ricreare le tabelle nel nuovo database.
Nota
Il metodo presentato non copia il partizionamento delle tabelle.
La procedura seguente per Windows presuppone che AWS CLI sia configurato per l'output JSON. Per modificare il formato di output predefinito in AWS CLI, esegui aws configure.
Come copiare un database AWS Glue tramite AWS CLI
-
Nel prompt dei comandi esegui il comando AWS CLI seguente per recuperare la definizione del database AWS Glue che vuoi copiare.
aws glue get-database --namedatabase_namePer ulteriori informazioni sul comando
get-database, consulta get-database. -
Salva l'output JSON in un file con il nome del nuovo database (ad esempio,
) sul desktop.new_database_name.json -
Apri il file
in un editor di testo.new_database_name.json -
Nel file JSON, procedere come decritto di seguito:
-
Rimuovi la voce
{ "Database":esterna e la parentesi di chiusura corrispondente}alla fine del file. -
Modificare la voce
Namecon il nuovo nome del database. -
Rimuovi il campo
CatalogId.
-
-
Salvare il file.
-
Nel prompt dei comandi esegui il comando AWS CLI seguente per utilizzare il file di definizione del database modificato per creare il database con il nuovo nome.
aws glue create-database --database-input "file://~/Desktop\new_database_name.json"Per ulteriori informazioni sul comando
create-database, consulta create-database. Per informazioni sul caricamento di parametri AWS CLI da un file, consulta Caricamento di parametri AWS CLI da un file nella Guida per l'utente di AWS Command Line Interface. -
Per verificare che il nuovo database sia stato creato in AWS Glue esegui il comando seguente:
aws glue get-database --namenew_database_name
Ora siete pronti per ottenere la definizione di una tabella da copiare nel nuovo database, modificare la definizione e utilizzare la definizione modificata per ricreare la tabella nel nuovo database. Questa procedura non modifica il nome della tabella.
Come copiare una tabella AWS Glue tramite AWS CLI
-
Al prompt dei comandi, esegui il comando seguente AWS CLI.
aws glue get-table --database-namedatabase_name--nametable_namePer ulteriori informazioni sul comando
get-table, consulta get-table. -
Salva l'output JSON in un file con il nome della tabella (ad esempio,
table_name.json) sul desktop di Windows. -
Apri il file in un editor di testo.
-
Nel file JSON, rimuovi la voce
{"Table":esterna e la parentesi di chiusura corrispondente}alla fine del file. -
Nel file JSON, rimuovi le seguenti voci e i relativi valori:
-
DatabaseName: questa voce non è obbligatoria perché il comando CLIcreate-tableutilizza il parametro--database-name. -
CreateTime -
UpdateTime -
CreatedBy -
IsRegisteredWithLakeFormation -
CatalogId -
VersionId
-
-
Salvate il file di definizione della tabella.
-
Nel prompt dei comandi esegui il comando AWS CLI seguente per ricreare la tabella nel nuovo database:
aws glue create-table --database-namenew_database_name--table-input "file://~/Desktop\table_name.json"Per ulteriori informazioni sul comando
create-table, consulta create-table. La tabella ora appare nel nuovo database di AWS Glue e può essere interrogata da Athena.
-
Ripeti i passaggi per copiare ogni tabella aggiuntiva nel nuovo database in AWS Glue.