AWS CLI verwenden, um eine AWS Glue-Datenbank und ihre Tabellen neu zu erstellen - Amazon Athena

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
  1. 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 --name database_name

    Weitere Informationen über den Befehl get-database finden Sie unter Datenbank holen.

  2. Speichern Sie die JSON-Ausgabe in einer Datei mit dem Namen der neuen Datenbank (z. B. new_database_name.json) auf Ihrem Desktop.

  3. Öffnen Sie die Datei new_database_name.json in einem Text-Editor.

  4. Führen Sie in der JSON-Dateie folgende Schritte aus:

    1. Entfernen Sie den äußeren { "Database":-Eintrag und die entsprechende schließende Klammer } am Ende der Datei.

    2. Ändern Sie den Name-Eintrag in den neuen Datenbanknamen.

    3. Entfernen Sie das Feld CatalogId.

  5. Speichern Sie die Datei.

  6. 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-database finden 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.

  7. Um zu überprüfen, ob die neue Datenbank in AWS Glue erstellt wurde, führen Sie den folgenden Befehl aus:

    aws glue get-database --name new_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
  1. Führen Sie an einer Eingabeaufforderung den folgenden AWS CLI-Befehl aus.

    aws glue get-table --database-name database_name --name table_name

    Weitere Informationen über den Befehl get-table finden Sie unter Tabelle holen.

  2. Speichern Sie die JSON-Ausgabe in einer Datei mit dem Namen der neuen Datenbank (z. B. table_name.json) auf Ihrem Desktop.

  3. Öffnen Sie die Datei in einem Text-Editor.

  4. Entfernen Sie in der JSON-Datei den äußeren {"Table": -Eintrag und die entsprechende schließende Klammer } am Ende der Datei.

  5. Entfernen Sie in der JSON-Datei die folgenden Einträge und ihre Werte:

    • DatabaseName – Dieser Eintrag ist nicht erforderlich, da der create-table-CLI-Befehl den --database-name-Parameter verwendet.

    • CreateTime

    • UpdateTime

    • CreatedBy

    • IsRegisteredWithLakeFormation

    • CatalogId

    • VersionId

  6. Speichern Sie die Tabellendefinitionsdatei.

  7. 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-name new_database_name --table-input "file://~/Desktop\table_name.json"

    Weitere Informationen über den Befehl create-table finden Sie unter Datenbank erstellen.

    Die Tabelle erscheint jetzt in der neuen Datenbank in AWS Glue und kann von Athena abgefragt werden.

  8. Wiederholen Sie die Schritte, um jede weitere Tabelle in die neue Datenbank in AWS Glue zu kopieren.