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

Sie können Redshift Spectrum oder Redshift Serverless verwenden, um Apache-Iceberg-Tabellen abzufragen, die im  AWS Glue Data Catalog katalogisiert sind. 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-konformen Services (Atomizität, Konsistenz, Isolation, Dauerhaftigkeit) wie Amazon Athena und Amazon EMR bearbeiten, 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 mit einem kompatiblen Service wie Amazon Athena oder Amazon EMR eine Apache Iceberg-Tabelle in einer AWS Glue Data Catalog Datenbank. 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-Cluster oder eine Redshift-Serverless-Arbeitsgruppe mit einer zugehörigen IAM-Rolle, die den Zugriff auf Ihren Data Lake ermöglicht. Weitere Informationen zum Erstellen von Clustern oder Arbeitsgruppen finden Sie unter Bereitgestellte Amazon-Redshift-Cluster und Redshift Serverless im Handbuch Erste Schritte mit Amazon Redshift.

  3. Stellen Sie mithilfe des Abfrage-Editors v2 oder eines SQL-Clients eines Drittanbieters eine Verbindung mit 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 Erstellen externer Schemata für Amazon Redshift Spectrum.

  5. Führen Sie SQL-Abfragen aus, um auf die Iceberg-Tabellen in dem von Ihnen erstellten externen Schema zuzugreifen.

Ü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  AWS Glue Data Catalog zu definieren und zu aktualisieren.

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

  • Erfassen von Iceberg-Daten in Amazon Redshift – Sie können die Befehle INSERT INTO oder CREATE TABLE AS verwenden, um Daten aus Ihrer Iceberg-Tabelle in eine lokale Amazon-Redshift-Tabelle zu importieren. Derzeit können Sie den Befehl COPY nicht verwenden, um den Inhalt einer Apache-Iceberg-Tabelle in eine lokale Amazon-Redshift-Tabelle zu importieren.

  • 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 MVs in Data-Lake-Tabellen werden derzeit nicht unterstützt.

  • AWS Lake Formation feinkörnige Zugriffskontrolle — Amazon Redshift unterstützt eine AWS Lake Formation differenzierte 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.