Iceberg-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.

Iceberg-Tabellendaten abfragen

Um einen Iceberg-Datensatz abzufragen, verwenden Sie eine SELECT-Standardanweisung wie die folgende. Abfragen folgen der Apache Iceberg Format v2-Spezifikation und führen merge-on-read sowohl Positions- als auch 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.

Informationen zu Zeitreise und Versionsreiseabfragen finden Sie unter Zeitreisen- und Versionsreiseabfragen durchführen.

Erstellen und Abfragen von Ansichten mit Iceberg-Tabellen

Verwenden Sie zum Erstellen und Abfragen von Athena-Ansichten für Iceberg-Tabellen CREATE VIEW-Ansichten wie in Arbeiten 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.

Iceberg-Tabellen-Metadaten abfragen

In einer SELECT Abfrage können Sie anschließend die folgenden Eigenschaften verwenden, um table_name Iceberg-Tabellenmetadaten 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"

Differenzierte Zugriffskontrolle von Lake Formation verwenden

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 im AWS Glue Data Catalog ausgefüllt werden. Wenn Ihre Iceberg-Tabelle keine Spalteninformationen enthält AWS Glue, können Sie die ALTER TABLE SET TBLPROPERTIES Athena-Anweisung oder das neueste Iceberg-SDK verwenden, um die Tabelle zu korrigieren und die Spalteninformationen in zu aktualisieren. AWS Glue