Wiederhergestellte Amazon-Glacier-Objekte abfragen
Mit Athena können Sie wiederhergestellte Objekte aus den Amazon S3-Speicherklassen Amazon Glacier Flexible Retrieval (ehemals Glacier) und Amazon Glacier Deep Archive abfragen. 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 Amazon Glacier Flexible Retrieval und Amazon Glacier Deep Archive.
Überlegungen und Einschränkungen
-
Die Abfrage wiederhergestellter Amazon-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.
Konfiguration einer 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 aber auch die AWS Glue-CLI
Athena-Abfrage-Editor verwenden
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.
So konfigurieren Sie die Tabelleneigenschaften in der AWS Glue-Konsole
Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die AWS Glue-Konsole unter https://console.aws.amazon.com/glue/
. -
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.
-
-
Wählen Sie auf der Seite Tabellen in der Liste der Tabellen den Link zu der Tabelle, die Sie bearbeiten möchten.
-
Wählen Sie Actions (Aktionen) und Edit table (Tabelle bearbeiten) aus.
-
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_objectshinzu. -
Geben Sie für Wert
trueein.
-
-
Wählen Sie Speichern.
Verwenden Sie die AWS CLI
In AWS CLI können Sie den AWS Glue update-table--table-input-Argument verwenden, um die Tabelle neu zu definieren und dabei die read_restored_glacier_objects-Eigenschaft hinzuzufügen. 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 und my_table durch den Namen Ihrer Datenbank und Tabelle.
aws glue update-table \ --database-namemy_database\ --table-input={\"Name\":\"my_table\",\"Parameters\":{\"read_restored_glacier_objects\":\"true\"}}
Wichtig
Der AWS Glue update-table Befehl funktioniert 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.