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.
Fehlerbehebung bei Amazon RDS Zero-ETL-Integrationen
Sie können den Status einer Zero-ETL-Integration überprüfen, indem Sie die SVV_INTEGRATION-Systemtabelle im Analyseziel abfragen. Wenn die Spalte state
den Wert ErrorState
aufweist, bedeutet das, dass ein Fehler vorliegt. Weitere Informationen finden Sie unter Überwachen von Integrationen mithilfe von Systemtabellen für Amazon Redshift.
Verwenden Sie die folgenden Informationen, um häufig auftretende Probleme mit Amazon RDS Zero-ETL-Integrationen zu beheben.
Wichtig
Neusynchronisierungs- und Aktualisierungsvorgänge sind für Zero-ETL-Integrationen mit einem Lakehouse nicht verfügbar. Amazon SageMaker Wenn es Probleme mit einer Integration gibt, müssen Sie die Integration löschen und eine neue Integration erstellen. Sie können eine bestehende Integration nicht aktualisieren oder erneut synchronisieren.
Themen
Ich kann keine Null-ETL-Integration erstellen
Wenn Sie keine Zero-ETL-Integration erstellen können, stellen Sie sicher, dass die folgenden Angaben für Ihre Quelldatenbank korrekt sind:
-
In Ihrer Quelldatenbank muss eine unterstützte DB-Engine-Version ausgeführt werden. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Regionen und DB-Engines für Amazon RDS Zero-ETL-Integrationen.
-
Sie haben die DB-Parameter korrekt konfiguriert. Wenn die erforderlichen Parameter falsch gesetzt oder nicht mit der Datenbank verknüpft sind, schlägt die Erstellung fehl. Siehe Schritt 1: Erstellen einer benutzerdefinierten DB--Parametergruppe.
Stellen Sie außerdem Folgendes für Ihr Ziel-Data-Warehouse sicher:
-
Die Unterscheidung zwischen Groß- und Kleinschreibung ist aktiviert. Siehe Aktivieren der Unterscheidung zwischen Groß- und Kleinschreibung für Ihr Data Warehouse.
-
Sie haben den richtigen autorisierten Prinzipal und die richtige Integrationsquelle hinzugefügt. Weitere Informationen finden Sie unter Autorisierung für Ihr Amazon Redshift Data Warehouse konfigurieren.
-
Das Data Warehouse ist verschlüsselt (wenn es sich um einen bereitgestellten Cluster handelt). Siehe Amazon Redshift Redshift-Datenbankverschlüsselung.
Meine Integration steckt in einem Zustand von Syncing
Ihre Integration zeigt möglicherweise durchgängig den Status an, Syncing
wenn Sie den Wert eines der erforderlichen DB-Parameter ändern.
Um dieses Problem zu beheben, überprüfen Sie die Werte der Parameter in der Parametergruppe, die dem zugeordnet ist, und stellen Sie sicher, dass sie den erforderlichen Werten entsprechen. Weitere Informationen finden Sie unter Schritt 1: Erstellen einer benutzerdefinierten DB--Parametergruppe.
Wenn Sie Parameter ändern, stellen Sie sicher, dass Sie den neu starten, um die Änderungen zu übernehmen.
Meine Tabellen werden nicht auf Amazon Redshift repliziert
Wenn Sie eine oder mehrere Tabellen nicht in Amazon Redshift sehen, können Sie den folgenden Befehl ausführen, um sie erneut zu synchronisieren:
ALTER DATABASE
dbname
INTEGRATION REFRESH TABLEStable1
,table2
;
Weitere Informationen finden Sie unter ALTER DATABASE in der Amazon Redshift SQL-Referenz.
Ihre Daten werden möglicherweise nicht repliziert, weil eine oder mehrere Ihrer Quelltabellen keinen Primärschlüssel haben. Das Monitoring-Dashboard in Amazon Redshift zeigt den Status dieser Tabellen als anFailed
, und der Status der gesamten Zero-ETL-Integration ändert sich auf. Needs attention
Um dieses Problem zu lösen, können Sie einen vorhandenen Schlüssel in Ihrer Tabelle identifizieren, der zu einem Primärschlüssel werden kann, oder Sie können einen synthetischen Primärschlüssel hinzufügen. Ausführliche Lösungen finden Sie unter Behandeln von Tabellen ohne Primärschlüssel bei der Erstellung von Amazon Aurora MySQL- oder Amazon RDS for MySQL Zero-ETL-Integrationen mit
Eine oder mehrere meiner Amazon-Redshift-Tabellen erfordern eine erneute Synchronisation
Wenn Sie bestimmte Befehle in Ihrer Quelldatenbank ausführen, müssen Ihre Tabellen möglicherweise erneut synchronisiert werden. In diesen Fällen zeigt die Systemansicht SVV_INTEGRATION_TABLE_STATE für table_state
den Wert ResyncRequired
an. Dies bedeutet, dass die Integration die Daten für diese spezifische Tabelle vollständig neu von MySQL in Amazon Redshift laden muss.
Wenn die Tabelle mit der erneuten Synchronisation beginnt, wechselt sie in den Status Syncing
. Sie müssen keine manuellen Maßnahmen ergreifen, um eine Tabelle erneut zu synchronisieren. Während die Tabellendaten erneut synchronisiert werden, können Sie in Amazon Redshift nicht darauf zugreifen.
Im Folgenden finden Sie einige Beispieloperationen, mit denen eine Tabelle in den Status ResyncRequired
versetzt werden kann, sowie mögliche Alternativen, die Sie in Betracht ziehen sollten.
Operation | Beispiel | Alternative |
---|---|---|
Hinzufügen einer Spalte an einer bestimmten Position |
|
Amazon Redshift unterstützt nicht das Hinzufügen von Spalten an bestimmten Positionen mithilfe der Schlüsselwörter first oder after . Wenn die Reihenfolge der Spalten in der Zieltabelle nicht wichtig ist, fügen Sie die Spalte mit einem einfacheren Befehl am Ende der Tabelle hinzu:
|
Hinzufügen einer Zeitstempelspalte mit dem Standardwert CURRENT_TIMESTAMP |
|
Der CURRENT_TIMESTAMP Wert für bestehende Tabellenzeilen wird von RDS für MySQL MySQL berechnet und kann in Amazon Redshift ohne vollständige Resynchronisierung der Tabellendaten nicht simuliert werden. Wenn möglich, ändern Sie den Standardwert in eine Literalkonstante wie |
Ausführen mehrerer Spaltenoperationen innerhalb eines einzigen Befehls |
|
Überlegen Sie, ob Sie den Befehl in zwei separate Operationen, ADD und RENAME , aufteilen sollten, die keine erneute Synchronisation erfordern. |
Fehler bei der Integration, Probleme bei Lakehouse Zero-ETL-Integrationen Amazon SageMaker
Wenn Sie Probleme mit einer bestehenden Zero-ETL-Integration mit einem Amazon SageMaker Lakehouse haben, besteht die einzige Lösung darin, die Integration zu löschen und eine neue zu erstellen. Im Gegensatz zu anderen AWS Diensten unterstützen Zero-ETL-Integrationen keine Aktualisierungs- oder Resynchronisierungsvorgänge.
So lösen Sie Integrationsprobleme:
-
Löschen Sie die problematische Zero-ETL-Integration mithilfe der Konsole, CLI oder API.
-
Stellen Sie sicher, dass die Konfigurationen der Quelldatenbank und des Ziel-Data Warehouses korrekt sind.
-
Erstellen Sie eine neue Zero-ETL-Integration mit derselben oder einer aktualisierten Konfiguration.
Dieser Prozess führt zu einer vollständigen Neuinitialisierung der Datenpipeline, was je nach Größe Ihrer Quelldatenbank einige Zeit in Anspruch nehmen kann.