Delta-Lake-Tabellen von Linux Foundation abfragen - Amazon Athena

Delta-Lake-Tabellen von 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

Die Delta-Lake-Unterstützung in Athena unterliegt folgenden Überlegungen und Einschränkungen:

  • Nur Tabellen mit AWS Glue-Katalog – Die native Delta-Lake-Unterstützung wird nur durch Tabellen unterstützt, die mit AWS Glue registriert sind. Wenn Sie über eine Delta-Lake-Tabelle verfügen, die bei einem anderen Metastore registriert ist, können Sie diese trotzdem behalten und als Ihren primären Metastore behandeln. Da Delta Lake-Metadaten im Dateisystem (z. B. in Amazon S3) und nicht im Metaspeicher gespeichert sind, benötigt Athena nur die Speicherort-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.

  • Read only (Schreibgeschützt) – Schreiben von DML-Anweisungen wie UPDATE, INSERT oder DELETE werden nicht unterstützt.

  • Lake-Formation-Unterstützung – Die Lake-Formation-Integration ist für Delta-Lake-Tabellen erhältlich, deren Schema mit AWS Glue synchron ist. Weitere Informationen finden Sie unter AWS Lake Formation mit Amazon Athena verwenden und Einrichten von Berechtigungen für eine Delta-Lake-Tabelle im AWS Lake Formation-Entwicklerhandbuch.

  • Limited DDL support (Eingeschränkte DDL-Unterstützung) – Die folgenden DDL-Anweisungen werden unterstützt: CREATE EXTERNAL TABLE, SHOW COLUMNS, SHOW TBLPROPERTIES, SHOW PARTITIONS, SHOW CREATE TABLE und DESCRIBE. Informationen zur Verwendung der CREATE EXTERNAL TABLE-Anweisung finden Sie im Erste Schritte mit Delta-Lake-Tabellen-Abschnitt.

  • Überspringen von Amazon-Glacier-Objekten wird nicht unterstützt – Wenn sich Objekte in der Delta-Lake-Tabelle der Linux Foundation in einer Amazon-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-Glacier-Objekte werden immer noch nicht übersprungen. Beim Ausführen von SELECT-Abfragen nach dem ALTER TABLE-Befehl werden weiterhin alle Objekte zurückgegeben.

  • Verschlüsselte Tabellen – Athena unterstützt kein natives Lesen von CSE-KMS-verschlüsselten Delta-Lake-Tabellen. Dazu gehören SELECT-Anweisungen und DDL-Anweisungen.

Delta Lake-Versionsverwaltung und Athena

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

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

  • Tabellen-Features – Jede Delta-ake-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-Features nicht. Abfragen von Tabellen mit nicht unterstützten Tabellen-Reader-Features schlagen jedoch fehl.

Die folgende Tabelle zeigt die Delta Lake Reader-Versionen und Delta Lake Tabellen-Writer-Features, die Athena unterstützt.

Abfragetyp Unterstützte Reader-Versionen Unterstützte Reader-Features
DQL (SELECT-Anweisungen) <= 3 Spaltenzuweisung, timestampNtz, Löschvektoren
DDL <= 1 Nicht zutreffend. Reader-Features 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 unter Delta-Lake-Metadaten synchronisieren.