Apache-Iceberg-Tabellen abfragen
Mit Athena können Sie Lese-, Zeitreise-, Schreib- und DDL-Abfragen für Apache Iceberg-Tabellen durchführen.
Apache Iceberg
Weitere Informationen zu Apache Iceberg finden Sie unter http://iceberg.apache.org/
Überlegungen und Einschränkungen
Die Athena-Unterstützung für Iceberg-Tabellen unterliegt folgenden Überlegungen und Einschränkungen:
-
Unterstützung für Iceberg-Versionen – Athena unterstützt Apache Iceberg Version 1.4.2.
-
Bei Lake Formation registrierte Tabellen – Athena unterstützt derzeit keine DDL-Operationen für Iceberg-Tabellen, die bei Lake Formation registriert sind.
-
Abfragen anhand des Informationsschemas – Bei der Abfrage des Informationsschemas von Iceberg-Tabellen verwendet Athena S3-Metadaten als Informationsquelle für Spaltenmetadaten. Das bedeutet, dass Spalteninformationen aus den zugrunde liegenden S3-Dateien und nicht aus den Katalogmetadaten abgeleitet werden. Dieses Verhalten unterscheidet sich von anderen Tabellenformaten, bei denen Katalogmetadaten möglicherweise die Hauptquelle für Spalteninformationen sind.
-
Tabellen mit nur dem AWS Glue-Katalog – Von Athena werden nur Iceberg-Tabellen unterstützt, die anhand des AWS Glue-Katalogs basierend auf Spezifikationen erstellt wurden, die von der Open-Source-Glue-Katalog-Implementierung
definiert wurden. -
Tabellen-Sperranlage von nur AWS Glue – Im Gegensatz zur Open-Source-Glue-Katalog-Implementierung, die benutzerdefinierte Plug-In-Sperren unterstützt, unterstützt Athena AWS Glue nur die optimistische Sperre. 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 – Athena-Engine Version 3 unterstützt die folgenden Iceberg-Dateiformate.
-
Parquet
-
ORC
-
Avro
-
-
Eingeschränkte Iceberg-Metadaten – Lake Formation wertet die Iceberg-Metadatentabellen nicht aus. Daher sind die Iceberg-Metadatentabellen eingeschränkt, wenn in der Basistabelle Zeilen- oder Zellfilter für Lake Formation vorhanden sind oder wenn Sie nicht berechtigt sind, alle Spalten in der Basistabelle anzuzeigen. In solchen Fällen, schlägt die Abfrage der Iceberg-Metadatentabellen
$partitions,$files,$manifestsund$snapshotsfehl und es wird eineAccessDeniedException-Fehlermeldung angezeigt. Darüber hinaus hat die Metadatenspalte$pathdieselben Einschränkungen für Lake Formation und schlägt fehl, wenn sie von der Abfrage ausgewählt wird. Alle anderen Metadatentabellen können unabhängig von den Lake-Formation-Filtern abgefragt werden. Weitere Informationen finden Sie unter Metadatentabellen. -
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 VIEWzum Erstellen von Athena-Ansichten, wie unter Arbeiten mit Ansichten beschrieben. Wenn Sie daran interessiert sind, die Iceberg-Ansichtsspezifikationzum 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 Formats (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 wie
VACUUM,MERGE,UPDATEoderOPTIMIZEmit diesen Tabellenformaten zu verwalten. Weitere Informationen zur Integration von Lake Formation mit Athena finden Sie unter Verwendung von AWS Lake Formation mit Amazon Athena im AWS Lake Formation-Entwicklerhandbuch. -
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_nameerstellt. -
Überspringen von Amazon-Glacier-Objekten wird nicht unterstützt – Wenn sich Objekte in der Apache–Iceberg-Tabelle in einer Amazon-Glacier-Speicherklasse befinden, hat das Setzen der
read_restored_glacier_objects-Tabelleneigenschaft auffalsekeine Auswirkung.Angenommen, Sie führen den folgenden Befehl aus:
ALTER TABLEtable_nameSET 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 derALTER TABLE-Befehl keinen Fehler, aber Amazon-Glacier-Objekte werden immer noch nicht übersprungen. Beim Ausführen vonSELECT-Abfragen nach demALTER 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