Risoluzione dei problemi relativi alle integrazioni zero-ETL di Amazon RDS - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi relativi alle integrazioni zero-ETL di Amazon RDS

Puoi verificare lo stato di un'integrazione zero-ETL interrogando la tabella di sistema SVV_INTEGRATION nella destinazione di analisi. Se la colonna state include il valore ErrorState, significa che si è verificato un problema. Per ulteriori informazioni, consulta Monitoraggio delle integrazioni tramite tabelle di sistema per Amazon Redshift.

Utilizza le seguenti informazioni per risolvere problemi comuni con le integrazioni Zero-ETL di Amazon RDS .

Importante

Le operazioni di risincronizzazione e aggiornamento non sono disponibili per le integrazioni zero-ETL con un lakehouse. Amazon SageMaker In caso di problemi con un'integrazione, è necessario eliminare l'integrazione e crearne una nuova. Non è possibile aggiornare o risincronizzare un'integrazione esistente.

Non riesco a creare un'integrazione Zero-ETL

Se non riesci a creare un'integrazione zero-ETL, assicurati che quanto segue sia corretto per il tuo database di origine:

Inoltre, assicurati che quanto segue sia corretto per il data warehouse di destinazione:

La mia integrazione è bloccata in uno stato di Syncing

La tua integrazione potrebbe mostrare costantemente uno stato pari a Syncing se modifichi il valore di uno dei parametri del DB richiesti.

Per risolvere questo problema, controlla i valori dei parametri nel gruppo di parametri associato al del database di origine e assicurati che corrispondano ai valori richiesti. Per ulteriori informazioni, consulta Fase 1: creazione di un gruppo di parametri del DB personalizzato.

Se modificate qualche parametro, assicuratevi di riavviare il del database per applicare le modifiche.

Le mie tabelle non si replicano su Amazon Redshift

Se non vedi una o più tabelle riflesse in Amazon Redshift, puoi eseguire il seguente comando per risincronizzarle:

ALTER DATABASE dbname INTEGRATION REFRESH TABLES table1, table2;

Per ulteriori informazioni, consulta ALTER DATABASE nel riferimento SQL di Amazon Redshift.

I tuoi dati potrebbero non essere replicati perché una o più tabelle di origine non hanno una chiave primaria. La dashboard di monitoraggio in Amazon Redshift mostra lo stato di queste tabelle e lo Failed stato dell'integrazione Zero-ETL complessiva cambia in. Needs attention Per risolvere questo problema, puoi identificare una chiave esistente nella tabella che può diventare una chiave primaria oppure puoi aggiungere una chiave primaria sintetica. Per soluzioni dettagliate, consulta Gestire le tabelle senza chiavi primarie durante la creazione di integrazioni Amazon Aurora MySQL o Amazon RDS for MySQL Zero-ETL con Amazon Redshift.

Una o più tabelle Amazon Redshift richiedono una risincronizzazione

L'esecuzione di determinati comandi sul database di origine potrebbe richiedere la risincronizzazione delle tabelle. In questi casi, la vista di sistema SVV_INTEGRATION_TABLE_STATE mostra un valore di table_state pari a ResyncRequired, il che significa che l'integrazione deve ricaricare completamente i dati di quella tabella specifica da MySQL in Amazon Redshift.

Quando viene avviata la risincronizzazione della tabella, lo stato diventa Syncing. Non è necessario eseguire alcuna azione manuale per risincronizzare una tabella. Durante la risincronizzazione dei dati delle tabelle, non puoi accedervi in Amazon Redshift.

Di seguito sono riportati alcuni esempi di operazioni che possono modificare lo stato di una tabella in ResyncRequired e le possibili alternative da considerare.

Operazione Esempio In alternativa
Aggiunta di una colonna in una posizione specifica
ALTER TABLE table_name ADD COLUMN column_name INTEGER NOT NULL first;
Amazon Redshift non supporta l'aggiunta di colonne in posizioni specifiche utilizzando le parole chiave first o after. Se l'ordine delle colonne nella tabella di destinazione non è rilevante, aggiungi la colonna alla fine della tabella utilizzando un comando più semplice:
ALTER TABLE table_name ADD COLUMN column_name column_type;
Aggiunta di una colonna timestamp con il valore predefinito CURRENT_TIMESTAMP
ALTER TABLE table_name ADD COLUMN column_name TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
Il CURRENT_TIMESTAMP valore per le righe della tabella esistenti viene calcolato da RDS per MySQL MySQL e non può essere simulato in Amazon Redshift senza la risincronizzazione completa dei dati della tabella.

Se possibile, converti il valore predefinito in una costante letterale, ad esempio 2023-01-01 00:00:15, per evitare la latenza a livello di disponibilità della tabella.

Esecuzione di operazioni su più colonne all'interno di un unico comando
ALTER TABLE table_name ADD COLUMN column_1, RENAME COLUMN column_2 TO column_3;
Prendi in considerazione la possibilità di suddividere il comando in due operazioni distinte, ADDRENAME, che non richiedono la risincronizzazione.

Problemi Amazon SageMaker di integrazione non riusciti per le integrazioni Lakehouse Zero-ETL

Se riscontri problemi con un'integrazione zero-ETL esistente con un Amazon SageMaker lakehouse, l'unica soluzione è eliminare l'integrazione e crearne una nuova. A differenza di altri AWS servizi, le integrazioni zero-ETL non supportano le operazioni di aggiornamento o risincronizzazione.

Per risolvere i problemi di integrazione:

  1. Elimina la problematica integrazione zero-ETL utilizzando la console, la CLI o l'API.

  2. Verifica che le configurazioni del database di origine e del data warehouse di destinazione siano corrette.

  3. Crea una nuova integrazione zero-ETL con una configurazione uguale o aggiornata.

Questo processo comporterà una reinizializzazione completa della pipeline di dati, che potrebbe richiedere del tempo a seconda delle dimensioni del database di origine.