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:

  • Nur Tabellen mit AWS Glue Katalog — Die native Delta Lake-Unterstützung wird nur über Tabellen unterstützt, bei AWS Glue denen registriert ist. 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 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.

  • Delta Lake-Reader-Version — Das Delta Lake-Reader-Protokoll bis Version 3 wird unterstützt.

  • Unterstützung für Löschvektoren — Athena unterstützt das Lesen aus Delta Lake-Tabellen mit Löschvektoren. Löschvektoren sind eine Funktion zur Speicheroptimierung, die für Delta Lake-Tabellen aktiviert werden kann. Weitere Informationen finden Sie unter Was sind Löschvektoren? in der Delta Lake-Dokumentation.

  • Spaltenzuordnung und timestampNtzDelta-Spaltenzuordnung, wodurch Delta-Tabellenspalten und die zugrundeliegenden Parquet-Dateispalten unterschiedliche Namen verwenden können, sowie Zeitstempel ohne Timezone (timestampNtz) werden unterstützt.

  • 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 Schreibbefehle wie UPDATEINSERT, 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 Verwenden AWS Lake Formation mit Amazon Athena und Einrichten von Berechtigungen für eine Delta Lake-Tabelle im AWS Lake Formation Entwicklerhandbuch.

  • Eingeschränkte DDL Unterstützung — Die folgenden DDL Anweisungen werden unterstützt: CREATE EXTERNAL TABLESHOW COLUMNS,,SHOW TBLPROPERTIES, SHOW PARTITIONSSHOW 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.