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 oder die AWS Glue Konsole verwenden. Sie können auch den AWS Glue CLIAWS Glue API, den oder den AWS Glue SDKverwenden.

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')

Verwendung der AWS Glue -Konsole

Führen Sie in der AWS Glue Konsole die folgenden Schritte aus, um die read_restored_glacier_objects Tabelleneigenschaft hinzuzufügen.

Um Tabelleneigenschaften in der AWS Glue Konsole zu konfigurieren
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Glue Konsole unter 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 den AWS CLI

In der AWS CLI können Sie den Befehl AWS Glue update-table und sein --table-input Argument verwenden, um die Tabelle neu zu definieren und dabei 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

Der AWS Glue update-table Befehl arbeitet im Überschreibmodus, was bedeutet, dass er die vorhandene 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.