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

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von AWS CLI , 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.

Das folgende Verfahren für Windows setzt voraus, dass Ihr für die JSON-Ausgabe konfiguriert AWS CLI ist. Um das Standardausgabeformat in der zu ändern AWS CLI, führen Sie den Befehl ausaws configure.

Um eine AWS Glue Datenbank mit dem zu kopieren AWS CLI
  1. Führen Sie an einer Befehlszeile 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-Datei die folgenden 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 in einer Befehlszeile den folgenden AWS CLI Befehl aus, um die geänderte Datenbankdefinitionsdatei zu verwenden, um die Datenbank mit dem neuen Namen 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. 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. Führen Sie den folgenden Befehl aus, um zu überprüfen AWS Glue, ob die neue Datenbank in erstellt wurde:

    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.

Um eine AWS Glue Tabelle zu kopieren, verwenden Sie AWS CLI
  1. Führen Sie in einer Befehlszeile 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 an einer Befehlszeile 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 Athena 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.