Richten Sie den Firehose-Stream ein - Amazon Data Firehose

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.

Richten Sie den Firehose-Stream ein

Um einen Firehose-Stream mit Apache Iceberg Tables als Ziel zu erstellen, müssen Sie Folgendes konfigurieren.

Anmerkung

Die Einrichtung eines Firehose-Streams für die Lieferung an Tabellen in S3-Tabellen-Buckets entspricht der von Apache Iceberg Tables in Amazon S3.

Quelle und Ziel konfigurieren

Um Daten an Apache Iceberg Tables zu liefern, wählen Sie die Quelle für Ihren Stream aus.

Informationen zur Konfiguration Ihrer Quelle für Ihren Stream finden Sie unter Quelleinstellungen konfigurieren.

Wählen Sie als Nächstes Apache Iceberg Tables als Ziel und geben Sie einen Firehose-Stream-Namen an.

Konfigurieren Sie die Datentransformation

Um benutzerdefinierte Transformationen an Ihren Daten durchzuführen, z. B. Datensätze in Ihrem eingehenden Stream hinzuzufügen oder zu ändern, können Sie Ihrem Firehose-Stream eine Lambda-Funktion hinzufügen. Weitere Informationen zur Datentransformation mit Lambda in einem Firehose-Stream finden Sie unter. Transformieren Sie Quelldaten in Amazon Data Firehose

Für Apache Iceberg-Tabellen müssen Sie angeben, wie eingehende Datensätze an verschiedene Zieltabellen weitergeleitet werden sollen und welche Operationen Sie ausführen möchten. Eine Möglichkeit, Firehose die erforderlichen Routing-Informationen zur Verfügung zu stellen, ist die Verwendung einer Lambda-Funktion.

Weitere Informationen finden Sie unter Datensätze an verschiedene Iceberg-Tabellen weiterleiten.

Datenkatalog Connect

Apache Iceberg benötigt einen Datenkatalog, um in Apache Iceberg-Tabellen schreiben zu können. Firehose lässt sich in Apache Iceberg Tables integrieren. AWS Glue Data Catalog

Sie können es AWS Glue Data Catalog in demselben Konto wie Ihr Firehose-Stream oder in einem kontoübergreifenden und in derselben Region wie Ihr Firehose-Stream (Standard) oder in einer anderen Region verwenden.

Konfigurieren Sie JQ-Ausdrücke

Für Apache Iceberg-Tabellen müssen Sie angeben, wie eingehende Datensätze an verschiedene Zieltabellen weitergeleitet werden sollen und welche Operationen wie Einfügen, Aktualisieren und Löschen Sie ausführen möchten. Sie können dies tun, indem Sie JQ-Ausdrücke für Firehose konfigurieren, um die erforderlichen Informationen zu analysieren und abzurufen. Weitere Informationen finden Sie unter Stellen Sie Firehose Routing-Informationen mit JSONQuery Ausdruck zur Verfügung.

Konfigurieren Sie eindeutige Schlüssel

Aktualisierungen und Löschungen mit mehr als einer Tabelle — Eindeutige Schlüssel sind ein oder mehrere Felder in Ihrem Quelldatensatz, die eine Zeile in Apache Iceberg-Tabellen eindeutig identifizieren. Wenn Sie nur ein Szenario mit mehr als einer Tabelle einfügen haben, müssen Sie keine eindeutigen Schlüssel konfigurieren. Wenn Sie Aktualisierungen und Löschungen an bestimmten Tabellen vornehmen möchten, müssen Sie eindeutige Schlüssel für diese erforderlichen Tabellen konfigurieren. Beachten Sie, dass das Update die Zeile automatisch einfügt, wenn die Zeile in den Tabellen fehlt. Wenn Sie nur eine einzige Tabelle haben, können Sie eindeutige Schlüssel konfigurieren.

Sie können entweder eindeutige Schlüssel pro Tabelle als Teil der Firehose-Stream-Erstellung konfigurieren oder Sie können sie identifier-field-idsnativ in Iceberg während der Operation „Tabelle erstellen“ oder „Tabelle ändern“ festlegen. Die Konfiguration eindeutiger Schlüssel pro Tabelle während der Stream-Erstellung ist optional. Wenn Sie bei der Stream-Erstellung keine eindeutigen Schlüssel pro Tabelle konfigurieren, identifier-field-ids sucht Firehose nach erforderlichen Tabellen und verwendet sie als eindeutige Schlüssel. Wenn beide nicht konfiguriert sind, schlägt die Übertragung von Daten mit Aktualisierungs- und Löschvorgängen fehl.

Um diesen Abschnitt zu konfigurieren, geben Sie den Datenbanknamen, den Tabellennamen und die eindeutigen Schlüssel für die Tabellen an, in denen Sie Daten aktualisieren oder löschen möchten. Sie können in der Konfiguration nur Einträge für jede Tabelle angeben. Optional können Sie auch ein Fehler-Bucket-Präfix angeben, falls Daten aus der Tabelle nicht zugestellt werden können, wie im folgenden Beispiel gezeigt.

[ { "DestinationDatabaseName": "MySampleDatabase", "DestinationTableName": "MySampleTable", "UniqueKeys": [ "COLUMN_PLACEHOLDER" ], "S3ErrorOutputPrefix": "OPTIONAL_PREFIX_PLACEHOLDER" } ]

Geben Sie die Dauer der Wiederholungsversuche an

Sie können diese Konfiguration verwenden, um die Dauer in Sekunden anzugeben, für die Firehose versuchen soll, es erneut zu versuchen, falls beim Schreiben in Apache Iceberg-Tabellen in Amazon S3 Fehler auftreten. Sie können einen beliebigen Wert zwischen 0 und 7200 Sekunden für die Durchführung von Wiederholungsversuchen festlegen. Standardmäßig versucht Firehose 300 Sekunden lang erneut.

Behandeln Sie die fehlgeschlagene Lieferung oder Verarbeitung

Sie müssen Firehose so konfigurieren, dass Datensätze an einen S3-Backup-Bucket gesendet werden, falls nach Ablauf der Wiederholungsdauer Fehler bei der Verarbeitung oder Bereitstellung eines Streams auftreten. Konfigurieren Sie dazu das Ausgabepräfix für den S3-Backup-Bucket und den S3-Backup-Bucket-Fehler in den Backup-Einstellungen in der Konsole.

Konfigurieren Sie Pufferhinweise

Firehose puffert eingehende Streaming-Daten im Speicher auf eine bestimmte Größe (Puffergröße) und für einen bestimmten Zeitraum (Pufferintervall), bevor sie an Apache Iceberg Tables übermittelt werden. Sie können eine Puffergröße von 1—128 MiBs und ein Pufferintervall von 0—900 Sekunden wählen. Höhere Pufferhinweise führen zu einer geringeren Anzahl von S3-Schreibvorgängen, zu geringeren Komprimierungskosten aufgrund größerer Datendateien und zu einer schnelleren Abfrageausführung, jedoch mit einer höheren Latenz. Niedrigere Werte für Pufferhinweise liefern die Daten mit geringerer Latenz.

Konfigurieren von erweiterten Einstellungen

Sie können serverseitige Verschlüsselung, Fehlerprotokollierung, Berechtigungen und Tags für Ihre Apache Iceberg-Tabellen konfigurieren. Weitere Informationen finden Sie unter Konfigurieren von erweiterten Einstellungen. Sie müssen die IAM Rolle hinzufügen, die Sie als Teil von erstellt haben. Voraussetzungen für die Verwendung von Apache Iceberg Tables als Ziel Firehose übernimmt die Rolle für den Zugriff auf AWS Glue Tabellen und das Schreiben in Amazon S3 S3-Buckets.

Die Erstellung eines Firehose-Streams kann mehrere Minuten dauern. Nachdem Sie den Firehose-Stream erfolgreich erstellt haben, können Sie damit beginnen, Daten in ihn aufzunehmen und die Daten in Apache Iceberg-Tabellen anzuzeigen.