Utilisez une tâche de synchronisation ETL en temps réel pour synchroniser des données depuis des sources telles que DataHub et Hologres vers Kafka. La tâche initialise le topic Kafka en fonction du schéma de la table source et synchronise continuellement les données pour une consommation en aval.
Limites
La version de la source de données Kafka doit être comprise entre 0.10.2 et 3.6.0.
La version de la source de données Hologres doit être V2.1 ou ultérieure.
La synchronisation incrémentielle des données d'une table partitionnée Hologres n'est pas prise en charge.
Les messages relatifs aux modifications DDL sur une table Hologres ne peuvent pas être synchronisés.
Les types de données suivants peuvent être synchronisés de manière incrémentielle depuis Hologres : INTEGER, BIGINT, TEXT, CHAR(n), VARCHAR(n), REAL, JSON, SERIAL, OID, INT4[], INT8[], FLOAT8[], BOOLEAN[], TEXT[] et JSONB.
Activez la journalisation binaire pour la table Hologres dans la base de données Hologres source. Pour plus d'informations, consultez S'abonner aux journaux binaires Hologres.
Prérequis
Un groupe de ressources Serverless a été acheté.
Les sources de données Hologres et Kafka ont été créées. Pour plus d'informations, consultez Créer une source de données pour Data Integration.
La connectivité réseau entre le groupe de ressources et les sources de données est établie. Pour plus d'informations, consultez Solutions de connectivité réseau.
Procédure
1. Sélectionner un type de tâche de synchronisation
-
Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Data Integration.
-
Dans le volet de navigation de gauche, cliquez sur Sync Tasks. En haut de la page, cliquez sur Create synchronization task et configurez les paramètres suivants.
Data Source And Destination :
Hologres→KafkaNew Task Name : Personnalisez un nom pour la tâche de synchronisation.
Synchronization Mode :
single-table real-time.Étape Synchronization Mode : Sélectionnez
full synchronization.
2. Configurer le réseau et les ressources
Dans la section Configure Network Connections and Resource Groups, sélectionnez le Resource Group pour la tâche de synchronisation. Vous pouvez également définir l'Task Resource Usage en UC (Unités de calcul).
Pour Source Data Source, sélectionnez une source de données
Hologres. Pour Destination data source, sélectionnez une source de donnéesKafka. Ensuite, cliquez sur Test Connection.Une fois les tests de connectivité pour les sources de données source et destination réussis, cliquez sur Next step.
3. Configurer le lien de synchronisation
a. Configurer la source Hologres
En haut de la page, cliquez sur la source de données Hologres et modifiez les Holo source information.

Dans la section Holo source information, sélectionnez le schéma et la table source.
-
Dans le coin supérieur droit, cliquez sur Data Sampling.
Dans la boîte de dialogue Preview Data Output, spécifiez le nombre d'Sampled Data Records et cliquez sur Start Collection. Cette action permet d'échantillonner et de prévisualiser les données de la table Hologres.
b. Configurer la destination Kafka
En haut de la page, cliquez sur la destination Kafka et modifiez les Kafka Destination Information.

Dans la section Kafka Destination Information, sélectionnez le topic Kafka vers lequel vous souhaitez écrire les données.
Définissez l'option Merge Source Binlog Update Messages selon vos besoins. Si vous activez cette option, les deux messages de mise à jour correspondant à une opération de mise à jour dans les journaux binaires source sont fusionnés en un seul message avant d'être écrits dans Kafka.
-
Configurez le Output Format, la Key Column et les Kafka Producer Parameters.
Output Format : Spécifie le format des valeurs pour les enregistrements écrits dans Kafka. Les formats valides sont Canal CDC et JSON. Pour plus d'informations, consultez l'Annexe : Formats de sortie.
-
Key Column : Spécifie les colonnes source dont les valeurs sont sérialisées en chaînes et concaténées avec des virgules pour former la clé des enregistrements écrits dans le topic Kafka.
RemarqueLes règles de sérialisation pour les valeurs de colonne sont identiques aux règles de sérialisation JSON pour les types de données de colonne dans Hologres.
Les valeurs de clé dans le topic Kafka déterminent les partitions vers lesquelles les données sont écrites. Les données ayant la même valeur de clé sont écrites dans la même partition. Pour garantir qu'un consommateur puisse consommer les données du topic Kafka dans l'ordre, nous vous recommandons d'utiliser les colonnes de clé primaire de la table Hologres comme colonnes de clé.
Si aucune colonne source n'est utilisée comme colonne de clé, les valeurs de clé dans le topic Kafka sont nulles. Dans ce cas, les données sont écrites dans des partitions aléatoires du topic Kafka.
Kafka Producer Parameters : Ces paramètres contrôlent la cohérence, la stabilité et la gestion des exceptions pour les opérations d'écriture. La configuration par défaut suffit pour la plupart des cas d'utilisation. Pour obtenir des informations sur les paramètres de producteur pris en charge par différentes versions de Kafka, consultez la documentation Kafka officielle.
4. Alertes
Pour éviter que des erreurs de tâche ne provoquent des retards dans la synchronisation des données métier, définissez une politique d'alerte pour la tâche de synchronisation.
Cliquez sur Alert Settings dans le coin supérieur droit de la page pour ouvrir la page de configuration des Alert Rule Configurations for Real-time Synchronization Subnode.
-
Cliquez sur Add Alert Rule pour configurer une règle d'alerte.
RemarqueLes règles d'alerte que vous définissez ici s'appliquent aux sous-tâches de synchronisation en temps réel générées par cette tâche. Après avoir configuré la tâche, vous pouvez afficher et modifier les règles d'alerte pour ces sous-tâches sur la page Exécuter et gérer les tâches de synchronisation en temps réel.
-
Gérez les règles d'alerte.
Pour les règles d'alerte existantes, utilisez le commutateur pour les activer ou les désactiver. Vous pouvez également envoyer des alertes à différents destinataires en fonction du niveau d'alerte.
5. Paramètres avancés
La tâche de synchronisation propose plusieurs paramètres que vous pouvez modifier selon vos besoins.
Avant d'apporter des modifications, assurez-vous de bien comprendre la fonction de chaque paramètre afin d'éviter des erreurs inattendues ou des problèmes de qualité des données.
Cliquez sur advanced settings dans le coin supérieur droit de la page pour ouvrir la page des paramètres avancés.
Sur la page advanced settings, modifiez les valeurs des paramètres selon vos besoins.
6. Groupe de ressources
Cliquez sur Configure Resource Group dans le coin supérieur droit pour afficher et changer le groupe de ressources actuel de la tâche.
7. Exécuter la tâche de synchronisation
Après avoir terminé tous les paramètres, cliquez sur Complete en bas de la page.
Sur la page , recherchez la tâche que vous avez créée et cliquez sur Start dans la colonne Operations.
Cliquez sur le Name/ID de la tâche correspondante dans la Task List pour afficher son processus d'exécution détaillé.
Effectuer des opérations de maintenance sur la tâche de synchronisation
Afficher l'état de la tâche de synchronisation
Après la création de la tâche de synchronisation, accédez à la page Tasks pour afficher toutes les tâches de synchronisation de l'espace de travail et leurs informations de base.
La liste des tâches affiche les colonnes suivantes : Name/ID, Data Source Synchronization Solution (type de synchronisation, source et destination), Status, Execution Overview, resource group et Actions.
Vous pouvez Start ou Stop une tâche de synchronisation dans la colonne Actions. Sous More, vous pouvez effectuer d'autres opérations, telles que Edit et View.
Pour les tâches démarrées, vous pouvez afficher l'état d'exécution de base dans l'Execution Overview et cliquer sur la zone de résumé correspondante pour afficher les détails d'exécution.
Une tâche de synchronisation en temps réel d'une table Hologres vers Kafka comprend les trois étapes suivantes :
Structure Migration : inclut la méthode de création de la table de destination (table existante ou création automatique de table). Si vous sélectionnez la création automatique de table, l'instruction DDL (Data Definition Language) de création de la table est affichée.
Full initialization : Si vous sélectionnez Full Sync pour l'étape de synchronisation de votre tâche, la progression de l'initialisation complète est affichée ici.
Real-time Data Synchronization : Contient des statistiques sur la synchronisation en temps réel, y compris le trafic de lecture/écriture en temps réel, les données erronées, les basculements et les journaux d'opérations.
Réexécuter une tâche
Dans des cas particuliers, par exemple lorsque vous devez modifier les champs synchronisés ou ajuster les informations de la table cible, cliquez sur Rerun dans la colonne Operations de la tâche de synchronisation. Cette action synchronise les champs ajustés et autres modifications vers la cible. Le processus ignore les tables inchangées précédemment synchronisées.
Pour exécuter à nouveau la tâche sans aucune modification, cliquez sur Rerun.
Si vous modifiez la tâche, cliquez sur Complete après avoir effectué vos modifications. L'action de la tâche devient Apply Updates. Cliquer sur Apply Updates réexécute la tâche avec la nouvelle configuration.
Annexe : Description des formats de sortie
Canal CDC
Canal CDC est un format de données CDC défini par Alibaba Canal.
Json
Le format JSON utilise les noms de champs des journaux binaires Hologres comme clés et sérialise les valeurs de champ en chaînes. Les paires clé-valeur résultantes sont écrites dans le topic Kafka sous forme de chaînes au format JSON.