AWS CLI verwenden, um eine AWS Glue-Datenbank und ihre Tabellen neu zu erstellen
Das direkte Umbenennen einer AWS Glue-Datenbank ist nicht möglich, aber Sie können ihre Definition kopieren, die Definition ändern und die Definition verwenden, um die Datenbank mit einem anderen Namen neu zu erstellen. Ebenso können Sie die Definitionen der Tabellen in der alten Datenbank kopieren, die Definitionen ändern und die geänderten Definitionen verwenden, um die Tabellen in der neuen Datenbank neu zu erstellen.
Anmerkung
Die vorgestellte Methode kopiert keine Tabellenpartitionierung.
Bei dem folgenden Verfahren für Windows wird davon ausgegangen, dass Ihr AWS CLI für die JSON-Ausgabe konfiguriert ist. Um das Standardausgabeformat in der AWS CLI zu ändern, führen Sie den Befehl aws configure aus.
Wie Sie eine AWS Glue-Datenbank mit der AWS CLI kopieren
-
Führen Sie in der Eingabeaufforderung den folgenden AWS CLI-Befehl aus, um die Definition der AWS Glue-Datenbank abzurufen, die Sie kopieren möchten.
aws glue get-database --namedatabase_nameWeitere Informationen über den Befehl
get-databasefinden Sie unter Datenbank holen. -
Speichern Sie die JSON-Ausgabe in einer Datei mit dem Namen der neuen Datenbank (z. B.
) auf Ihrem Desktop.new_database_name.json -
Öffnen Sie die Datei
in einem Text-Editor.new_database_name.json -
Führen Sie in der JSON-Dateie folgende Schritte aus:
-
Entfernen Sie den äußeren
{ "Database":-Eintrag und die entsprechende schließende Klammer}am Ende der Datei. -
Ändern Sie den
Name-Eintrag in den neuen Datenbanknamen. -
Entfernen Sie das Feld
CatalogId.
-
-
Speichern Sie die Datei.
-
Führen Sie an einer Eingabeaufforderung den folgenden AWS CLI-Befehl aus, um die Datenbank mit dem neuen Namen unter Verwendung der geänderten Datenbankdefinitionsdatei zu erstellen.
aws glue create-database --database-input "file://~/Desktop\new_database_name.json"Weitere Informationen über den Befehl
create-databasefinden Sie unter Datenbank erstellen. Weitere Informationen zum Laden von AWS CLI-Parametern aus einer Datei finden Sie unter Laden von AWS CLI-Parametern aus einer Datei im AWS Command Line Interface-Benutzerhandbuch. -
Um zu überprüfen, ob die neue Datenbank in AWS Glue erstellt wurde, führen Sie den folgenden Befehl aus:
aws glue get-database --namenew_database_name
Jetzt sind Sie bereit, die Definition für eine Tabelle abzurufen, die Sie in die neue Datenbank kopieren möchten, die Definition zu ändern und die geänderte Definition zu verwenden, um die Tabelle in der neuen Datenbank neu zu erstellen. Durch dieses Verfahren wird der Tabellenname nicht geändert.
Kopieren einer AWS Glue-Tabelle mit der AWS CLI
-
Führen Sie an einer Eingabeaufforderung den folgenden AWS CLI-Befehl aus.
aws glue get-table --database-namedatabase_name--nametable_nameWeitere Informationen über den Befehl
get-tablefinden Sie unter Tabelle holen. -
Speichern Sie die JSON-Ausgabe in einer Datei mit dem Namen der neuen Datenbank (z. B.
table_name.json) auf Ihrem Desktop. -
Öffnen Sie die Datei in einem Text-Editor.
-
Entfernen Sie in der JSON-Datei den äußeren
{"Table":-Eintrag und die entsprechende schließende Klammer}am Ende der Datei. -
Entfernen Sie in der JSON-Datei die folgenden Einträge und ihre Werte:
-
DatabaseName– Dieser Eintrag ist nicht erforderlich, da dercreate-table-CLI-Befehl den--database-name-Parameter verwendet. -
CreateTime -
UpdateTime -
CreatedBy -
IsRegisteredWithLakeFormation -
CatalogId -
VersionId
-
-
Speichern Sie die Tabellendefinitionsdatei.
-
Führen Sie bei einer Eingabeaufforderung den folgenden AWS CLI-Befehl aus, um die Tabelle in der neuen Datenbank neu zu erstellen:
aws glue create-table --database-namenew_database_name--table-input "file://~/Desktop\table_name.json"Weitere Informationen über den Befehl
create-tablefinden Sie unter Datenbank erstellen. Die Tabelle erscheint jetzt in der neuen Datenbank in AWS Glue und kann von Athena abgefragt werden.
-
Wiederholen Sie die Schritte, um jede weitere Tabelle in die neue Datenbank in AWS Glue zu kopieren.