Delta-Lake-Tabellen von Linux Foundation abfragen
Linux Foundation Delta LakeMSCK 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,INSERToderDELETEwerden 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 TABLEundDESCRIBE. Informationen zur Verwendung derCREATE 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_objectsauffalsekeine 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. -
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
-
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 |
| DDL | <= 1 | Nicht zutreffend. Reader-Features können nur für Tabellen mit einer Reader-Version von 2 oder höher deklariert werden. |
-
Eine Liste der Tabellenfunktionen von Delta Lake finden Sie unter Gültige Feature-Namen in Tabellen-Features
auf GitHub.com -
Eine Liste der Delta Lake-Features nach Protokollversion finden Sie unter Features nach Protokollversion
auf GitHub.com.
Informationen zum Erstellen einer Delta Lake-Tabelle in Athena mit einer Reader-Version größer als 1 finden Sie unter Delta-Lake-Metadaten synchronisieren.