Risoluzione dei problemi delle ETL integrazioni zero di Amazon RDS con Amazon Redshift - 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 delle ETL integrazioni zero di Amazon RDS con Amazon Redshift

Puoi verificare lo stato di un'ETLintegrazione zero interrogando la tabella di INTEGRATION sistema SVV_ in Amazon Redshift. 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.

Utilizza le seguenti informazioni per risolvere i problemi più comuni relativi alle integrazioni zero di Amazon RDS ETL con Amazon Redshift.

Non riesco a creare un'integrazione zero ETL

Se non riesci a creare un'ETLintegrazione zero, 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 la ALTERDATABASEpagina di riferimento di Amazon RedshiftSQL.

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 stato dell'ETLintegrazione zero complessiva cambia a. Failed 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 ETL integrazioni SQL zero di SQL Amazon Aurora My o Amazon RDS for My 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 STATE sistema SVVINTEGRATIONTABLE_ _ _ mostra un table_state diResyncRequired, il che significa che l'integrazione deve ricaricare completamente i dati per quella tabella specifica da My SQL ad 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 RDSMy SQL 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.