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.
Anmerkung
Firehose unterstützt Datenbanken als Quelle in allen Regionen AWS-Regionenaußer China und Asien-Pazifik (Malaysia). AWS GovCloud (US) Regions Diese Funktion befindet sich in der Vorschauversion und kann sich ändern. Verwenden Sie es nicht für Ihre Produktionsworkloads.
Firehose unterstützt die Bereitstellung von Datenbankänderungen an Apache Iceberg Tables. Konfigurieren Sie die folgenden Zieleinstellungen, um den Firehose-Stream mit der Datenbank als Quelle einzurichten.
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.
Aktivieren Sie die automatische Erstellung von Tabellen
Wenn Sie diese Option aktivieren, erstellt Firehose automatisch die erforderlichen Datenbanken, Tabellen und Spalten in Ihrem Zielziel mit demselben Namen und Schema wie die Quelldatenbanken. Wenn Sie diese Option aktivieren und Firehose feststellt, dass einige Tabellen mit demselben Namen und Schema bereits vorhanden sind, verwendet es stattdessen diese vorhandenen Tabellen und erstellt nur fehlende Datenbanken, Tabellen und Spalten.
Wenn Sie diese Option nicht aktivieren, versucht Firehose, die erforderlichen Datenbanken, Tabellen und Spalten zu finden. Wenn Firehose sie nicht finden kann, wird ein Fehler ausgelöst und Daten an den S3-Fehler-Bucket gesendet.
Anmerkung
Damit Firehose Daten erfolgreich an Iceberg Tables liefern kann, sollten die Datenbank-, Tabellen- und Spaltennamen zusammen mit dem Schema vollständig übereinstimmen. Wenn die Namen von Datenbankobjekten und Schemas nicht übereinstimmen, gibt Firehose einen Fehler aus und übermittelt Daten an einen S3-Fehler-Bucket.
Bei MySQL-Datenbanken wird die Quelldatenbank der AWS Glue Datenbank und die Quelltabelle der AWS Glue Tabelle zugeordnet.
Für PostgreSQL wird die Quelldatenbank der AWS Glue Datenbank zugeordnet und die Quelltabelle einer AWS Glue Tabelle mit dem Namen. SchemaName_TableName
Anmerkung
Für Amazon S3 S3-Tabellen unterstützt Firehose die automatische Erstellung von Tabellen nicht. Sie müssen S3-Tabellen erstellen, bevor Sie einen Firehose erstellen können.
Aktivieren Sie die Schemaentwicklung
Wenn Sie diese Option aktivieren, entwickelt Firehose das Schema der Apache Iceberg-Tabellen automatisch weiter, wenn sich das Quellschema ändert. Im Rahmen der Schemaentwicklung unterstützt Firehose derzeit das Hinzufügen neuer Spalten. Wenn beispielsweise einer Tabelle auf der Seite der Quelldatenbank eine neue Spalte hinzugefügt wird, übernimmt Firehose diese Änderungen automatisch und fügt die neue Spalte der entsprechenden Apache Iceberg-Tabelle hinzu.
Geben Sie die Dauer der Wiederholung 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 es nach Ablauf der Wiederholungsdauer keinen Stream verarbeiten oder bereitstellen kann. Konfigurieren Sie dazu das Ausgabepräfix S3-Backup-Bucket und S3-Backup-Bucket-Fehler.
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
Für erweiterte Einstellungen können Sie 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, Gewähren Sie Firehose Zugriff, um Datenbankänderungen auf Apache Iceberg Tables zu replizieren um Apache Iceberg Tables als Ziel zu verwenden. Firehose übernimmt die Rolle für den Zugriff auf AWS Glue Tabellen und das Schreiben in Amazon S3 S3-Buckets.
Wir empfehlen dringend, Logs zu aktivieren CloudWatch . Wenn Firehose Probleme damit hat, eine Verbindung zu Datenbanken herzustellen oder einen Snapshot der Tabellen zu erstellen, gibt Firehose einen Fehler aus und protokolliert in den konfigurierten Protokollen. Dies ist der einzige Mechanismus, der Sie über die Fehler informiert.
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.
Anmerkung
Konfigurieren Sie nur einen Firehose-Stream für eine Datenbank. Wenn mehrere Firehose-Streams für eine Datenbank vorhanden sind, werden mehrere Konnektoren zur Datenbank erstellt, was sich auf die Datenbankleistung auswirkt.
Sobald ein Firehose-Stream erstellt wurde, lautet der Anfangsstatus vorhandener Tabellen Snapshot IN_PROGRESS. Ändern Sie das Schema der Quelltabelle nicht, wenn der Snapshot-Status auf IN_PROGRESS gesetzt ist. Wenn Sie das Schema der Tabelle ändern, während der Snapshot ausgeführt wird, überspringt Firehose den Snapshot der Tabelle. Wenn der Snapshot-Prozess abgeschlossen ist, ändert sich sein Status auf ABGESCHLOSSEN.