Verwenden von Apache-Iceberg-Tabellen mit Amazon Redshift - Amazon Redshift

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.

Verwenden von Apache-Iceberg-Tabellen mit Amazon Redshift

In diesem Thema wird beschrieben, wie Sie Tabellen im Apache Iceberg-Format mit Redshift Spectrum oder Redshift Serverless verwenden. Apache Iceberg ist ein Hochleistungsformat für riesige Analysetabellen.

Sie können Redshift Spectrum oder Redshift Serverless verwenden, um Apache Iceberg-Tabellen abzufragen, die in der AWS Glue Data Catalog. Apache Iceberg ist ein Open-Source-Tabellenformat für Data Lakes. Weitere Informationen finden Sie unter Apache Iceberg in der Apache-Iceberg-Dokumentation.

Amazon Redshift bietet Transaktionskonsistenz für Abfragen von Apache-Iceberg-Tabellen. Sie können die Daten in Ihren Tabellen mithilfe von ACID (Atomizität, Konsistenz, Isolierung, Haltbarkeit) konformen Diensten wie Amazon Athena und Amazon bearbeiten, EMR während Sie Abfragen mit Amazon Redshift ausführen. Amazon Redshift kann die in den Apache-Iceberg-Metadaten gespeicherten Tabellenstatistiken verwenden, um Abfragepläne zu optimieren und Dateiscans während der Abfrageverarbeitung zu reduzieren. Mit Amazon Redshift SQL können Sie Redshift-Tabellen mit Data-Lake-Tabellen verbinden.

So führen Sie die ersten Schritte für Iceberg-Tabellen mit Amazon Redshift aus:

  1. Erstellen Sie eine Apache Iceberg-Tabelle auf einem AWS Glue Data Catalog Datenbank, die einen kompatiblen Dienst wie Amazon Athena oder Amazon EMR verwendet. Informationen zum Erstellen einer Iceberg-Tabelle mit Athena finden Sie unter Verwenden von Apache-Iceberg-Tabellen im Amazon-Athena-Benutzerhandbuch.

  2. Erstellen Sie einen Amazon Redshift Redshift-Cluster oder eine Redshift Serverless-Arbeitsgruppe mit einer zugehörigen IAM Rolle, die den Zugriff auf Ihren Data Lake ermöglicht. Informationen zum Erstellen von Clustern oder Arbeitsgruppen finden Sie unter Erste Schritte mit von Amazon Redshift bereitgestellten Data Warehouses und Erste Schritte mit Redshift Serverless Data Warehouses im Amazon Redshift Getting Started Guide.

  3. Stellen Sie mithilfe des Abfrage-Editors v2 oder eines SQL Drittanbieter-Clients eine Connect zu Ihrem Cluster oder Ihrer Arbeitsgruppe her. Informationen zum Herstellen einer Verbindung mit dem Abfrage-Editor v2 finden Sie unter Herstellen einer Verbindung zu einem Amazon Redshift Data Warehouse mithilfe von SQL Client-Tools im Amazon Redshift Management Guide.

  4. Erstellen Sie in Ihrer Amazon-Redshift-Datenbank ein externes Schema für eine bestimmte Datenkatalogdatenbank, die Ihre Iceberg-Tabellen enthält. Informationen zum Erstellen eines externen Schemas finden Sie unter Externe Schemas in Amazon Redshift Spectrum.

  5. Führen Sie SQL Abfragen aus, um auf die Iceberg-Tabellen in dem externen Schema zuzugreifen, das Sie erstellt haben.

Überlegungen zur Verwendung von Apache-Iceberg-Tabellen mit Amazon Redshift

Bei der Verwendung von Amazon Redshift mit Iceberg-Tabellen sollten Sie Folgendes berücksichtigen:

  • Unterstützung der Iceberg-Version – Amazon Redshift unterstützt die Ausführung von Abfragen für die folgenden Versionen von Iceberg-Tabellen:

    • Version 1 definiert, wie große Analysetabellen mithilfe unveränderlicher Datendateien verwaltet werden.

    • Version 2 fügt die Möglichkeit hinzu, Update- und Löschvorgänge auf Zeilenebene zu unterstützen, während die vorhandenen Datendateien unverändert bleiben und die Änderungen der Tabellendaten mithilfe von Löschdateien verarbeitet werden.

    Den Unterschied zwischen Tabellen der Version 1 und Version 2 finden Sie unter Formatversionsänderungen in der Apache-Iceberg-Dokumentation.

  • Nur Abfragen – Amazon Redshift unterstützt den schreibgeschützten Zugriff auf Apache-Iceberg-Tabellen. Es unterstützt transaktionskonsistente Auswahlabfragen. Sie können einen Service wie Amazon Athena verwenden, um das Schema von Iceberg-Tabellen in der AWS Glue Data Catalog.

  • Hinzufügen von Partitionen – Sie müssen Partitionen für Ihre Apache-Iceberg-Tabellen nicht manuell hinzufügen. Neue Partitionen in Apache-Iceberg-Tabellen werden automatisch von Amazon Redshift erkannt und es ist kein manueller Vorgang erforderlich, um Partitionen in der Tabellendefinition zu aktualisieren. Alle Änderungen der Partitionsspezifikation werden auch automatisch auf Ihre Abfragen angewendet, ohne dass der Benutzer eingreifen muss.

  • Aufnahme von Iceberg-Daten in Amazon Redshift — Sie können unsere AS-Befehle verwenden INSERTINTO, um Daten aus Ihrer Iceberg-Tabelle in eine lokale Amazon Redshift Redshift-Tabelle zu importieren. CREATE TABLE Sie können den COPY Befehl derzeit nicht verwenden, um den Inhalt einer Apache Iceberg-Tabelle in eine lokale Amazon Redshift Redshift-Tabelle aufzunehmen.

  • Materialisierte Ansichten – Sie können materialisierte Ansichten für Apache-Iceberg-Tabellen wie jede andere externe Tabelle in Amazon Redshift erstellen. Die gleichen Überlegungen wie für andere Data-Lake-Tabellenformate gelten auch für Apache-Iceberg-Tabellen. Inkrementelle Updates, automatische Aktualisierungen, automatisches Umschreiben von Abfragen und automatische On-Data-Lake-Tabellen werden MVs derzeit nicht unterstützt.

  • AWS Lake Formation detaillierte Zugriffskontrolle — Amazon Redshift unterstützt AWS Lake Formation feinkörnige Zugriffskontrolle für Apache Iceberg-Tabellen.

  • Benutzerdefinierte Datenverarbeitungsparameter – Amazon Redshift unterstützt benutzerdefinierte Datenverarbeitungsparameter für Apache-Iceberg-Tabellen. Sie verwenden benutzerdefinierte Datenverarbeitungsparameter für vorhandene Dateien, um die Daten, die in externen Tabellen abgefragt werden, anzupassen und Scanfehler zu vermeiden. Diese Parameter bieten die Möglichkeit, Diskrepanzen zwischen dem Tabellenschema und den tatsächlichen Daten in Dateien zu bearbeiten. Sie können benutzerdefinierte Datenverarbeitungsparameter auch für Apache-Iceberg-Tabellen verwenden.

  • Datenfreigabe – Die Datenfreigabe von Amazon Redshift unterstützt derzeit keine Data Lake-Tabellen, einschließlich Apache-Iceberg-Tabellen.

  • Zeitreiseabfragen – Zeitreiseabfragen werden derzeit mit Apache-Iceberg-Tabellen nicht unterstützt.

  • Preise – Wenn Sie von einem Cluster aus auf Iceberg-Tabellen zugreifen, werden Ihnen die Redshift-Spectrum-Preise berechnet. Wenn Sie von einer Arbeitsgruppe aus auf Iceberg-Tabellen zugreifen, werden Ihnen die Redshift-Serverless-Preise berechnet. Weitere Informationen zu Preisen von Redshift Spectrum und Redshift Serverless finden Sie unter Amazon Redshift – Preise.