Eisberg-Tabellendaten abfragen - 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.

Eisberg-Tabellendaten abfragen

Um einen Iceberg-Datensatz abzufragen, verwenden Sie eine SELECT-Standardanweisung wie die folgende. Abfragen folgen der V2-Spezifikation des Apache Iceberg-Formats und führen sowohl Positions- als auch merge-on-read Gleichheitslöschungen durch.

SELECT * FROM [db_name.]table_name [WHERE predicate]

Um die Abfragezeiten zu optimieren, werden alle Prädikate dorthin verschoben, wo sich die Daten befinden.

Hinweise zu Zeitreisen und Versionsreiseabfragen finden Sie unter. Führen Sie Zeitreise- und Versionsreiseabfragen durch

Ansichten mit Iceberg-Tabellen erstellen und abfragen

Verwenden Sie zum Erstellen und Abfragen von Athena-Ansichten für Iceberg-Tabellen CREATE VIEW-Ansichten wie in Arbeiten Sie mit Ansichten beschrieben.

Beispiel:

CREATE VIEW view1 AS SELECT * FROM iceberg_table
SELECT * FROM view1

Wenn Sie daran interessiert sind, die Iceberg-Ansicht-Spezifikation zum Erstellen von Ansichten zu verwenden, wenden Sie sich an athena-feedback@amazon.com.

Fragen Sie die Metadaten der Eisberg-Tabelle ab

In einer SELECT Abfrage können Sie danach die folgenden Eigenschaften verwenden table_nameum Metadaten der Iceberg-Tabelle abzufragen:

  • $files – Zeigt die aktuellen Datendateien einer Tabelle an.

  • $manifests – Zeigt die aktuellen Dateimanifeste einer Tabelle an.

  • $history – Zeigt den Verlauf einer Tabelle an.

  • $partitions – Zeigt die aktuellen Partitionen einer Tabelle an.

  • $snapshots – Zeigt die Snapshots einer Tabelle an.

  • $refs – Zeigt die Verweise einer Tabelle an.

Beispiele

Die folgende Anweisung listet die Dateien für eine Iceberg-Tabelle auf.

SELECT * FROM "dbname"."tablename$files"

Die folgende Anweisung listet das Manifest für eine Iceberg-Tabelle auf.

SELECT * FROM "dbname"."tablename$manifests"

Die folgende Anweisung zeigt die Historie einer Iceberg-Tabelle.

SELECT * FROM "dbname"."tablename$history"

Im folgenden Beispiel werden die Partitionen für eine Iceberg-Tabelle gezeigt.

SELECT * FROM "dbname"."tablename$partitions"

Im folgenden Beispiel werden die Snapshots für eine Iceberg-Tabelle gelistet.

SELECT * FROM "dbname"."tablename$snapshots"

Im folgenden Beispiel werden die Referenzen für eine Iceberg-Tabelle gezeigt.

SELECT * FROM "dbname"."tablename$refs"

Verwenden Sie die feinkörnige Zutrittskontrolle von Lake Formation

Athena-Engine-Version 3 unterstützt die differenzierte Zugriffskontrolle von Lake Formation mit Iceberg-Tabellen, einschließlich der Sicherheitskontrolle auf Spalten- und Zeilenebene. Diese Zugriffskontrolle funktioniert mit Zeitreiseabfragen und mit Tabellen, die eine Schemaentwicklung durchgeführt haben. Weitere Informationen finden Sie unter Differenzierte Zugriffskontrolle von Lake Formation und Athena-Arbeitsgruppen.

Wenn Sie Ihre Iceberg-Tabelle außerhalb von Athena erstellt haben, verwenden Sie Apache Iceberg SDK Version 0.13.0 oder höher, damit Ihre Iceberg-Tabellenspalteninformationen in die eingetragen werden. AWS Glue Data Catalog Wenn Ihre Iceberg-Tabelle keine Spalteninformationen enthält AWS Glue, können Sie die ALTER TABLE SET TBLPROPERTIES Athena-Anweisung oder die neueste Version von Iceberg verwenden, um die Tabelle SDK zu korrigieren und die Spalteninformationen in zu aktualisieren. AWS Glue