Résolution des problèmes liés aux ETL intégrations zéro d'Amazon RDS avec Amazon Redshift - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes liés aux ETL intégrations zéro d'Amazon RDS avec Amazon Redshift

Vous pouvez vérifier l'état d'une ETL intégration zéro en interrogeant la table INTEGRATION système SVV_ dans Amazon Redshift. Si la valeur de la colonne state est ErrorState, cela signifie que quelque chose ne va pas. Pour de plus amples informations, veuillez consulter Surveillance des intégrations à l'aide des tables système.

Utilisez les informations suivantes pour résoudre les problèmes courants liés aux ETL intégrations zéro d'Amazon RDS avec Amazon Redshift.

Je ne peux pas créer une ETL intégration zéro

Si vous ne parvenez pas à créer une ETL intégration zéro, assurez-vous que les informations suivantes sont correctes pour votre base de données source :

En outre, assurez-vous que les informations suivantes sont correctes pour votre entrepôt de données cible :

Mon intégration est bloquée dans un état de Syncing

Il est possible que votre intégration affiche systématiquement le statut Syncing si vous modifiez la valeur de l'un des paramètres de base de données requis.

Pour résoudre ce problème, vérifiez les valeurs des paramètres du groupe de paramètres associé au de bases de données de base de données source et assurez-vous qu'elles correspondent aux valeurs requises. Pour de plus amples informations, veuillez consulter Étape 1 : Créer un groupe de paramètres de base de données personnalisé.

Si vous modifiez des paramètres, veillez à redémarrer le de base de données pour appliquer les modifications.

Mes tables ne sont pas répliquées sur Amazon Redshift

Si aucune ou plusieurs tables ne sont reflétées dans Amazon Redshift, vous pouvez exécuter la commande suivante pour les resynchroniser :

ALTER DATABASE dbname INTEGRATION REFRESH TABLES table1, table2;

Pour plus d'informations, consultez ALTERDATABASEla référence Amazon RedshiftSQL.

Vos données ne sont peut-être pas répliquées car une ou plusieurs de vos tables sources ne possèdent pas de clé primaire. Le tableau de bord de surveillance d'Amazon Redshift affiche l'état de ces tables au fur Failed et à mesure que l'état de l'ETLintégration zéro globale passe à. Needs attention Pour résoudre ce problème, vous pouvez identifier une clé existante dans votre table qui peut devenir une clé primaire, ou vous pouvez ajouter une clé primaire synthétique. Pour des solutions détaillées, consultez Gérer les tables sans clés primaires lors de la création d'ETLintégrations Amazon Aurora My SQL ou Amazon RDS for My SQL zero avec Amazon Redshift.

Une ou plusieurs de mes tables Amazon Redshift nécessitent une resynchronisation

L'exécution de certaines commandes sur votre base de données source peut nécessiter la resynchronisation de vos tables. Dans ces cas, la vue STATE système SVVINTEGRATION_ TABLE _ _ affiche un table_state deResyncRequired, ce qui signifie que l'intégration doit recharger complètement les données de cette table spécifique de My SQL vers Amazon Redshift.

Lorsque la table commence à se resynchroniser, elle passe à l'état Syncing. Aucune action manuelle n'est requise pour resynchroniser une table. Pendant la resynchronisation des données des tables, vous ne pouvez pas y accéder dans Amazon Redshift.

Vous trouverez ci-dessous quelques exemples d'opérations permettant de mettre une table dans un état ResyncRequired et les alternatives possibles à envisager.

Opération Exemple Autrement
Ajout d'une colonne à une position spécifique
ALTER TABLE table_name ADD COLUMN column_name INTEGER NOT NULL first;
Amazon Redshift ne prend pas en charge l'ajout de colonnes à des positions spécifiques à l'aide des mots clés first et after. Si l'ordre des colonnes de la table cible n'est pas critique, ajoutez la colonne à la fin de la table à l'aide d'une commande plus simple :
ALTER TABLE table_name ADD COLUMN column_name column_type;
Ajout d'une colonne d'horodatage avec la valeur par défaut de CURRENT_TIMESTAMP
ALTER TABLE table_name ADD COLUMN column_name TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
La CURRENT_TIMESTAMP valeur des lignes de table existantes est calculée par RDSfor My SQL et ne peut pas être simulée dans Amazon Redshift sans resynchronisation complète des données de table.

Si possible, remplacez la valeur par défaut par une constante littérale comme 2023-01-01 00:00:15 afin d'éviter toute latence dans la disponibilité de la table.

Réalisation d'opérations sur plusieurs colonnes au sein d'une seule commande
ALTER TABLE table_name ADD COLUMN column_1, RENAME COLUMN column_2 TO column_3;
Envisagez de diviser la commande en deux opérations distinctes, ADD et RENAME, qui ne nécessiteront pas de resynchronisation.