Écrire manuellement du code Flink SQL pour synchroniser MySQL vers Hologres exige de maîtriser la syntaxe des instructions CDAS et CTAS, de gérer les évolutions de schéma à la main et de configurer les identifiants de serveur pour les connecteurs CDC. Les modèles de synchronisation des données génèrent ce code SQL automatiquement : sélectionnez les catalogues source et de destination, choisissez une méthode de synchronisation, et le modèle produit un fichier Flink SQL prêt au déploiement, couvrant les données complètes, les données incrémentielles et les modifications de schéma.
Méthodes de synchronisation
Deux méthodes sont disponibles. Choisissez celle qui correspond à la structure de vos données source :
| Méthode | Cas d'utilisation | SQL généré |
|---|---|---|
| Synchronisation multi-bases multi-tables | Synchronisation d'une ou plusieurs tables issues d'une ou plusieurs bases de données vers une seule base de données de destination | CREATE DATABASE AS (CDAS) |
| Fusion de données fragmentées | Fusion de plusieurs tables fragmentées ayant un schéma similaire en une seule table de destination | CREATE TABLE AS (CTAS) |
Ces deux méthodes s'appuient sur les connecteurs Flink Change Data Capture (CDC) pour synchroniser automatiquement les données complètes, les données incrémentielles et les modifications de schéma (telles que l'ajout de colonnes) depuis chaque table source vers la destination.
Limitations
Les modèles de synchronisation des données ne prennent en charge que MySQL comme source et Hologres comme destination.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un catalogue MySQL. S'il n'existe pas, créez-en un — consultez Gérer les catalogues MySQL
Un catalogue Hologres. S'il n'existe pas, créez-en un — consultez Gérer les catalogues Hologres
L'accès à un espace de travail Realtime Compute for Apache Flink
Comportement de création de table : Realtime Compute for Apache Flink crée automatiquement la table de destination dans Hologres. Si la table existe déjà, la synchronisation des données se fait selon la base de données et la table de destination que vous sélectionnez lors de la création du plan.
Modifications des types de données : Hologres ne permet pas de modifier les types de données des colonnes. Si le type de données d'un champ source diffère de celui de la table Hologres existante, l'écriture échoue. Modifiez le type de données de la colonne et relancez la synchronisation.
Nommage par défaut : Le modèle crée la base de données et la table de destination avec les mêmes noms que ceux de la source, synchronisés par défaut vers le schéma public. Pour modifier le nom de la base de données, le nom de la table ou le schéma, utilisez des instructions SQL. Consultez CREATE TABLE AS (CTAS) et CREATE DATABASE AS (CDAS).
Synchroniser des données à l'aide d'un modèle
Connectez-vous à la console Realtime Compute for Apache Flink.
Repérez l'espace de travail et cliquez sur Console dans la colonne Actions.
Dans le menu de navigation de gauche, cliquez sur Development > ETL. Cliquez sur l'icône
et sélectionnez New Draft with Template.Dans la boîte de dialogue New Draft, cliquez sur l'onglet Flink CDC. Sélectionnez la carte Data Synchronization from MySQL to Hologres, puis cliquez sur Next.
-
Configurez la source et le puits de données (sink) : Cliquez sur Next.
Catégorie Paramètre Description Source MySQL Catalog Sélectionnez un catalogue MySQL existant. S'il n'en existe aucun, cliquez sur Create Catalog. Consultez Gérer les catalogues MySQL. Source MySQL server-id Saisissez un ID unique pour chaque client de base de données MySQL. Valeurs valides : 5400–6400. Vous pouvez également spécifier une plage (par exemple, 5400-5408). Si la lecture parallèle est activée en mode de lecture incrémentielle, spécifiez une plage pour attribuer un ID de serveur unique à chaque thread parallèle.ImportantN'utilisez pas le même server-id pour différents déploiements ou services accédant à la base de données.
Puits (Sink) Hologres Catalog Sélectionnez un catalogue Hologres existant. S'il n'en existe aucun, cliquez sur Create Catalog. Consultez Gérer les catalogues Hologres. 
-
Créez un plan. Suivez les étapes correspondant à la méthode de synchronisation choisie :
-
Synchronisation multi-bases multi-tables
Dans l'onglet To Single Database, sélectionnez la base de données et la table source.

-
Cliquez sur Save Plan. Le plan apparaît dans la liste des plans.
RemarqueLe modèle crée une base de données et une table dans le catalogue de destination portant les mêmes noms que la source. Elles sont synchronisées par défaut vers le schéma
public. Pour personnaliser le nom de la base de données, le nom de la table ou le schéma, utilisez plutôt des instructions SQL. Consultez CREATE TABLE AS (CTAS) et CREATE DATABASE AS (CDAS). Cliquez sur Next.
Vérifiez le code SQL généré. Vous pouvez modifier le Name, l'Location ou la Engine Version selon vos besoins.

-
Fusion de données fragmentées
Dans l'onglet To Multiple Databases, sélectionnez les bases de données et les tables source, ou saisissez les noms de la base de données et de la table de destination.
Nous vous recommandons d'utiliser des expressions régulières pour spécifier les bases de données et les tables source.Cliquez sur Save Plan. Le plan apparaît dans la liste des plans.
Vous pouvez créer plusieurs plans — pour la synchronisation multi-bases multi-tables et la fusion de données fragmentées — au sein d'un même brouillon. 
Cliquez sur Next.
Vérifiez le code SQL généré. Vous pouvez modifier le Name, l'Location ou la Engine Version selon vos besoins.

-
Cliquez sur Create. Vous êtes redirigé vers la page de l'éditeur SQL. À partir de là, le flux de travail est identique à celui d'un déploiement standard. Consultez Carte de développement de job et Démarrer un déploiement de job.
Étapes suivantes
Pour personnaliser le code SQL généré avec des options avancées telles que le mappage de schéma ou des noms de table personnalisés, consultez CREATE TABLE AS (CTAS) et CREATE DATABASE AS (CDAS).
Pour démarrer le job après avoir créé le déploiement, consultez Démarrer un déploiement de job.
Pour plus d'informations sur les tables de résultats Hologres, consultez Créer une table de résultats Hologres.