Abfragen wiederhergestellter Amazon S3 Glacier-Objekte - 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.

Abfragen wiederhergestellter Amazon S3 Glacier-Objekte

Sie können Athena verwenden, um wiederhergestellte Objekte aus den Amazon-S3-Speicherklassen S3 Glacier Flexible Retrieval (früher Glacier) und S3 Glacier Deep Archive abzufragen. Sie müssen diese Funktion für jede Tabelle aktivieren. Wenn Sie das Feature nicht für eine Tabelle aktivieren, bevor Sie eine Abfrage ausführen, überspringt Athena während der Abfrageausführung alle Objekte der Tabelle von S3 Glacier Flexible Retrieval und S3 Glacier Deep Archive.

Überlegungen und Einschränkungen

  • Die Abfrage wiederhergestellter Amazon-S3-Glacier-Objekte wird nur auf der Athena-Engine-Version 3 unterstützt.

  • Das Feature wird nur für Apache-Hive-Tabellen unterstützt.

  • Sie müssen Ihre Objekte wiederherstellen, bevor Sie Ihre Daten abfragen; Athena stellt keine Objekte für Sie wieder her.

Konfigurieren Sie eine Tabelle für die Verwendung wiederhergestellter Objekte

Um Ihre Athena-Tabelle so zu konfigurieren, dass sie wiederhergestellte Objekte in Ihre Abfragen einbezieht, müssen Sie ihre read_restored_glacier_objects-Tabelleneigenschaft auf true setzen. Dazu können Sie den Athena-Abfrageeditor verwenden oder AWS Glue console. Sie können auch den AWS Glue CLI, das AWS Glue API, oder der AWS Glue SDK.

Verwenden Sie den Athena-Abfrage-Editor

In Athena können Sie den ALTER TABLE SET TBLPROPERTIES Befehl verwenden, um die Tabelleneigenschaft festzulegen, wie im folgenden Beispiel.

ALTER TABLE table_name SET TBLPROPERTIES ('read_restored_glacier_objects' = 'true')

Verwenden Sie den AWS Glue Konsole

Im AWS Glue Konsole, führen Sie die folgenden Schritte aus, um die read_restored_glacier_objects Tabelleneigenschaft hinzuzufügen.

So konfigurieren Sie Tabelleneigenschaften in der AWS Glue Konsole
  1. Melden Sie sich an bei AWS Management Console und öffne das AWS Glue Konsole bei https://console.aws.amazon.com/glue/.

  2. Führen Sie eine der folgenden Aktionen aus:

    • Wählen Sie Zu Data Catalog gehen.

    • Wählen Sie im Navigationsbereich die Option Data-Catalog-Tabellen.

  3. Wählen Sie auf der Seite Tabellen in der Liste der Tabellen den Link zu der Tabelle, die Sie bearbeiten möchten.

  4. Wählen Sie Actions (Aktionen) und Edit table (Tabelle bearbeiten) aus.

  5. Fügen Sie auf der Seite Tabelle bearbeiten im Abschnitt Tabelleneigenschaften für jede partitionierte Spalte das folgende Schlüssel-Wert-Paar hinzu.

    • Fügen Sie für Key (Schlüssel) read_restored_glacier_objects hinzu.

    • Geben Sie für Wert true ein.

  6. Wählen Sie Save (Speichern) aus.

Benutze die AWS CLI

Im AWS CLI, du kannst das benutzen AWS Glue Befehl update-table und sein --table-input Argument, um die Tabelle neu zu definieren und damit die Eigenschaft hinzuzufügen. read_restored_glacier_objects Verwenden Sie im --table-input-Argument die Parameters-Struktur, um die read_restored_glacier_objects-Eigenschaft und den Wert von true anzugeben. Beachten Sie, dass das Argument für --table-input keine Leerzeichen enthalten darf und umgekehrte Schrägstriche verwenden muss, um die doppelten Anführungszeichen zu maskieren. Ersetzen Sie im folgenden Beispiel my_database and my_table durch den Namen Ihrer Datenbank und Tabelle.

aws glue update-table \ --database-name my_database \ --table-input={\"Name\":\"my_table\",\"Parameters\":{\"read_restored_glacier_objects\":\"true\"}}
Wichtig

Das Tool AWS Glue update-tableDer Befehl arbeitet im Überschreibmodus, was bedeutet, dass er die bestehende Tabellendefinition durch die neue Definition ersetzt, die durch den table-input Parameter angegeben wird. Stellen Sie daher sicher, dass Sie beim Hinzufügen der read_restored_glacier_objects Eigenschaft auch alle Felder, die in Ihrer Tabelle enthalten sein sollen, im table-input Parameter angeben.