Résolution des problèmes liés aux intégrations zéro ETL d'Amazon RDS à 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 intégrations zéro ETL d'Amazon RDS à Amazon Redshift

Il s'agit de la documentation préliminaire relative aux intégrations zéro ETL d'Amazon RDS à Amazon Redshift, qui est disponible en version préliminaire. La documentation et la fonction sont toutes deux sujettes à modification. Nous vous recommandons d’utiliser cette fonction uniquement dans des environnements de test et non dans des environnements de production. Pour voir les conditions générales, consultez Beta and Previews (Bêtas et aperçus) dans les Conditions de service AWS.

Vous pouvez vérifier l'état d'une intégration zéro ETL en interrogeant la table système SVV_INTEGRATION 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 intégrations zéro ETL d'Amazon RDS à Amazon Redshift.

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

Si vous ne pouvez pas créer une intégration zéro ETL, assurez-vous que les points suivants sont corrects pour votre instance de base de données source :

  • Le de base de données source exécute RDS pour MySQL version 8.0.28 ou supérieure, Aurora 15.4 et Zero-ETL Support). Pour valider la version du moteur, choisissez l'onglet Configuration de l'instance de base de données et vérifiez la Version du moteur.

  • Vous avez correctement configuré les paramètres de base de données. Si les paramètres requis ne sont pas définis correctement ou ne sont pas associés à l'instance de base de données, la création échoue. veuillez consulter Étape 1 : Créer un groupe de paramètres de base de données personnalisé.

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

Mon intégration est dans un état perpétuel 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é à l'instance 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 l'instance de base de données pour appliquer les modifications.

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

L'exécution de certaines commandes sur votre instance de base de données source peut nécessiter la resynchronisation de vos tables. Dans ce cas, la vue système SVV_INTEGRATION_TABLE_STATE affiche un table_state de ResyncRequired, ce qui signifie que l'intégration doit complètement recharger les données de cette table spécifique depuis MySQL 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 d'une table, il est possible que vous ne puissiez pas accéder à ces données 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 RDS pour MySQL 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.