Iceberg-Tabellendaten abfragen
Um einen Iceberg-Datensatz abzufragen, verwenden Sie eine SELECT-Standardanweisung wie die folgende. Abfragen folgen der Spezifikation des Apache-Iceberg-Formats
SELECT * FROM [db_name.]table_name[WHEREpredicate]
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 * FROMiceberg_table
SELECT * FROM view1
Wenn Sie daran interessiert sind, die Iceberg-Ansicht-Spezifikation
Iceberg-Tabellen-Metadaten abfragen
In einer SELECT-Abfrage können Sie die folgenden Eigenschaften hinter table_name verwenden, um 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