Delta Lake-Tabellen der Linux Foundation 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.

Delta Lake-Tabellen der Linux Foundation abfragen

Linux Foundation Delta Lake ist ein Tabellenformat für Big-Data-Analytik. Sie können Amazon Athena verwenden, um direkt in Amazon S3 gespeicherte Delta-Lake-Tabellen zu lesen, ohne Manifest-Dateien generieren oder die MSCK REPAIR-Anweisung ausführen zu müssen.

Das Delta-Lake-Format speichert die Mindest- und Höchstwerte pro Spalte jeder Datendatei. Die Athena-Implementierung verwendet diese Informationen, um das Überspringen von Dateien bei Prädikaten zu ermöglichen, um unerwünschte Dateien aus der Berücksichtigung zu entfernen.

Überlegungen und Einschränkungen

Für die Unterstützung von Delta Lake in Athena gelten die folgenden Überlegungen und Einschränkungen:

  • Tabellen mit AWS Glue nur Katalog — Die native Delta Lake-Unterstützung wird nur über Tabellen unterstützt, die bei registriert sind AWS Glue. Wenn Sie eine Delta Lake-Tabelle haben, die bei einem anderen Metastore registriert ist, können Sie sie trotzdem behalten und als Ihren primären Metastore behandeln. Da Delta Lake-Metadaten im Dateisystem (z. B. in Amazon S3) und nicht im Metastore gespeichert werden, benötigt Athena nur die Location-Eigenschaft in AWS Glue um aus Ihren Delta Lake-Tabellen zu lesen.

  • V3 engine only (Nur V3-Engine) – Delta-Lake-Abfragen werden nur auf der Athena-Engine-Version 3 unterstützt. Sie müssen sicherstellen, dass die von Ihnen erstellte Arbeitsgruppe für die Verwendung der Athena-Engine-Version 3 konfiguriert ist.

  • No time travel support (Keine Unterstützung für Zeitreisen) – Anfragen, die die Zeitreisefunktionen von Delta Lake nutzen, werden nicht unterstützt.

  • Schreibgeschützt — DML Schreibweisen wie UPDATEINSERT, oder DELETE werden nicht unterstützt.

  • Lake Formation Formation-Unterstützung — Die Lake Formation Formation-Integration ist für Delta Lake-Tabellen verfügbar, deren Schema synchronisiert ist mit AWS Glue. Weitere Informationen finden Sie unter Verwenden AWS Lake Formation mit Amazon Athena und richten Sie Berechtigungen für eine Delta Lake-Tabelle ein in der AWS Lake Formation Leitfaden für Entwickler.

  • Eingeschränkte DDL Unterstützung — Die folgenden DDL Anweisungen werden unterstützt: CREATE EXTERNAL TABLESHOW COLUMNS,SHOW TBLPROPERTIES,SHOW PARTITIONS,SHOW CREATE TABLE, undDESCRIBE. Informationen zur Verwendung der CREATE EXTERNAL TABLE-Anweisung finden Sie im Erste Schritte-Abschnitt.

  • Überspringen von S3-Glacier-Objekten wird nicht unterstützt – Wenn sich Objekte in der Delta-Lake-Tabelle der Linux Foundation 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.

Delta Lake-Versionierung und Athena

Athena verwendet nicht die in der Delta Lake-Dokumentation aufgeführte Versionierung. Um festzustellen, ob Ihre Delta Lake-Tische mit Athena kompatibel sind, sollten Sie die folgenden beiden Merkmale berücksichtigen:

  • Reader-Version — Jede Delta Lake-Tabelle hat eine Reader-Version. Derzeit ist dies eine Zahl zwischen 1 und 3. Abfragen, die eine Tabelle mit einer Reader-Version enthalten, die Athena nicht unterstützt, schlagen fehl.

  • Tabellenfunktionen — Jede Delta Lake-Tabelle kann auch eine Reihe von Reader/Writer-Funktionen deklarieren. Da die Unterstützung von Delta Lake durch Athena schreibgeschützt ist, gilt die Kompatibilität der Tabellen-Writer-Funktionen nicht. Abfragen von Tabellen mit nicht unterstützten Tabellenlesefunktionen schlagen jedoch fehl.

Die folgende Tabelle zeigt die Delta Lake Reader-Versionen und Delta Lake Table Reader-Funktionen, die Athena unterstützt.

Abfragetyp Unterstützte Reader-Versionen Unterstützte Reader-Funktionen
DQL(SELECTAussagen) <= 3 Spaltenzuweisung timestampNtz, Löschvektoren
DDL <= 1 Nicht zutreffend. Reader-Funktionen können nur für Tabellen mit einer Reader-Version von 2 oder höher deklariert werden.

Informationen zum Erstellen einer Delta Lake-Tabelle in Athena mit einer Reader-Version größer als 1 finden Sie unterSynchronisieren Sie Delta Lake-Metadaten.