Fehlerbehebung bei Null-ETL-Integrationen von Aurora mit Amazon Redshift - Amazon Aurora

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 Null-ETL-Integrationen von Aurora mit Amazon Redshift

Sie können den Status einer Null-ETL-Integration überprüfen, indem Sie die Systemtabelle SVV_INTEGRATION in Amazon Redshift 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.

Verwenden Sie die folgenden Informationen, um häufig auftretende Probleme bei Null-ETL-Integrationen von Aurora mit Amazon Redshift zu beheben.

Ich kann keine Null-ETL-Integration erstellen

Wenn Sie keine Null-ETL-Integration erstellen können, stellen Sie Folgendes für Ihren DB-Quell-Cluster sicher:

  • In Ihrem läuft , Aurora MySQL Version 3.05 (kompatibel mit MySQL 8.0.32) oder höher oder Aurora PostgreSQL (kompatibel mit PostgreSQL 15.4 und Zero-ETL Support).

  • Sie haben die Parameter des DB-Clusters korrekt konfiguriert. Wenn die erforderlichen Parameter falsch festgelegt oder nicht mit dem Cluster verknüpft sind, schlägt die Erstellung fehl. Siehe Schritt 1: Erstellen einer benutzerdefinierten DB-Cluster-Parametergruppe.

Stellen Sie außerdem Folgendes für Ihr Ziel-Data-Warehouse sicher:

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-Cluster-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

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 Amazon Redshift. die folgenden Ressourcen:

Eine oder mehrere meiner Amazon-Redshift-Tabellen erfordern eine erneute Synchronisation

Wenn Sie bestimmte Befehle auf Ihrem DB-Quell-Cluster 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
ALTER TABLE table_name ADD COLUMN column_name INTEGER NOT NULL first;
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:
ALTER TABLE table_name ADD COLUMN column_name column_type;
Hinzufügen einer Zeitstempelspalte mit dem Standardwert CURRENT_TIMESTAMP
ALTER TABLE table_name ADD COLUMN column_name TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
Der CURRENT_TIMESTAMP Wert für bestehende Tabellenzeilen wird von 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 2023-01-01 00:00:15, um Latenzen bei der Tabellenverfügbarkeit zu vermeiden.

Ausführen mehrerer Spaltenoperationen innerhalb eines einzigen Befehls
ALTER TABLE table_name ADD COLUMN column_1, RENAME COLUMN column_2 TO column_3;
Überlegen Sie, ob Sie den Befehl in zwei separate Operationen, ADD und RENAME, aufteilen sollten, die keine erneute Synchronisation erfordern.