Apache-Iceberg-Tabellen verwenden - 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.

Apache-Iceberg-Tabellen verwenden

Athena unterstützt Lese-, Zeitreise-, Schreib- und DDL-Abfragen für Apache Iceberg-Tabellen, die das Apache Parquet-Format für Daten und den AWS Glue Katalog für ihren Metastore verwenden.

Apache Iceberg ist ein offenes Tabellenformat für sehr große analytische Datensätze. Iceberg verwaltet große Sammlungen von Dateien als Tabellen und unterstützt moderne analytische Data-Lake-Operationen wie Einfüge-, Aktualisierungs-, Löschen- und Zeitreiseabfragen auf Datensatzebene. Die Iceberg-Spezifikation ermöglicht eine nahtlose Tabellenentwicklung wie Schema- und Partitionsentwicklung, und ihr Design ist für die Verwendung auf Amazon S3 optimiert. Iceberg trägt auch dazu bei, die Datenkorrektheit in gleichzeitigen Schreibszenarien zu gewährleisten.

Weitere Informationen zu Apache Iceberg finden Sie unter http://iceberg.apache.org/.

Überlegungen und Einschränkungen

Die Athena-Unterstützung für Iceberg-Tabellen hat die folgenden Überlegungen und Einschränkungen:

  • Unterstützung für Iceberg-Versionen — Athena unterstützt Apache Iceberg Version 1.4.2.

  • Nur Tabellen mit AWS Glue Katalog — Nur Iceberg-Tabellen, die anhand des AWS Glue Katalogs auf der Grundlage von Spezifikationen erstellt wurden, die in der Open-Source-Glue-Katalogimplementierung definiert wurden, werden von Athena unterstützt.

  • Unterstützung für Tabellensperren AWS Glue nur von — Im Gegensatz zur Open-Source-Implementierung des Glue-Katalogs, die benutzerdefinierte Sperren von Plug-ins unterstützt, unterstützt Athena nur AWS Glue optimistisches Sperren. Die Verwendung von Athena zum Ändern einer Iceberg-Tabelle mit einer anderen Sperren-Implementierung führt zu potenziellen Datenverlust und bricht Transaktionen ab.

  • Unterstützte Dateiformate – Die Unterstützung des Iceberg-Dateiformats in Athena hängt von der Athena-Engine-Version ab, wie in der folgenden Tabelle dargestellt.

    Athena-Engine-Version Parquet ORC Avro
    2 Ja Nein Nein
    3 Ja Ja Ja
  • Iceberg-v2-Tabellen – Athena erstellt und arbeitet nur auf Iceberg-v2-Tabellen. Den Unterschied zwischen v1- und v2-Tabellen finden Sie unter Formatversionsänderungen in der Apache-Iceberg-Dokumentation.

  • Anzeige von Zeittypen ohne Zeitzone – Die Zeit und der Zeitstempel ohne Zeitzonentypen werden in UTC angezeigt. Wenn die Zeitzone in einem Filterausdruck für eine Zeitspalte nicht angegeben ist, wird UTC verwendet.

  • Zeitstempelbezogene Datengenauigkeit – Obwohl Iceberg Mikrosekunden-Genauigkeit für den Zeitstempel-Datentyp unterstützt, unterstützt Athena nur Millisekunden-Genauigkeit für Zeitstempel sowohl beim Lesen als auch beim Schreiben. Für Daten in zeitbezogenen Spalten, die bei manuellen Verdichtungsvorgängen neu geschrieben werden, behält Athena nur die Millisekundengenauigkeit bei.

  • Nicht unterstützte Operationen – Die folgenden Athena-Operationen werden für Iceberg-Tabellen nicht unterstützt.

  • Ansichten – Verwenden Sie CREATE VIEW zum Erstellen von Athena-Ansichten, wie unter Arbeiten mit Ansichten beschrieben. Wenn Sie daran interessiert sind, die Iceberg-Ansichtsspezifikation zum Erstellen von Ansichten zu verwenden, wenden Sie sich an athena-feedback@amazon.com.

  • TTF-Verwaltungsbefehle werden nicht unterstützt in AWS Lake Formation — Sie können Lake Formation zwar verwenden, um Lesezugriffsberechtigungen für TransactionTable Formate (TTFs) wie Apache Iceberg, Apache Hudi und Linux Foundation Delta Lake zu verwalten, aber Sie können Lake Formation nicht verwenden, um Berechtigungen für Operationen wieVACUUM,MERGE, UPDATE oder OPTIMIZE mit diesen Tabellenformaten zu verwalten. Weitere Informationen zur Integration von Lake Formation mit Athena finden Sie unter Using AWS Lake Formation with Amazon Athena im AWS Lake Formation Developer Guide.

  • Partitionierung nach verschachtelten Feldern – Die Partitionierung nach verschachtelten Feldern wird nicht unterstützt. Wenn Sie dies versuchen, wird die Meldung NOT_SUPPORTED: Die Unterteilung nach verschachtelten Feldern wird nicht unterstützt: column_name.nested_field_name erstellt.

  • Überspringen von S3-Glacier-Objekten wird nicht unterstützt – Wenn sich Objekte in der Apache-Iceberg-Tabelle in einer Amazon-S3-Glacier-Speicherklasse befinden, hat das Setzen der Tabelleneigenschaft read_restored_glacier_objects auf false keine Auswirkung.

    Angenommen, Sie führen den folgenden Befehl aus:

    ALTER TABLE table_name SET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')

    Bei Iceberg- und Delta-Lake-Tabellen erzeugt der Befehl den Fehler Unsupported table property key: read_restored_glacier_objects. Bei Hudi-Tabellen erzeugt der ALTER TABLE-Befehl keinen Fehler, aber Amazon-S3-Glacier-Objekte werden immer noch nicht übersprungen. Beim Ausführen von SELECT-Abfragen nach dem ALTER TABLE-Befehl werden weiterhin alle Objekte zurückgegeben.

Wenn Sie möchten, dass Athena ein bestimmtes Feature unterstützt, senden Sie Feedback an athena-feedback@amazon.com.