Cette rubrique explique comment configurer une tâche de synchronisation par lots planifiée périodiquement dans Data Integration en utilisant l'interface visuelle sans code.
Prérequis
-
Configurez les sources et destinations de données avant de créer une tâche de synchronisation par lots. Cela vous permet de sélectionner les sources de données par leur nom lors de la configuration de la tâche.
RemarquePour plus d'informations sur les sources de données, consultez
Présentation des sources de données
.
Achetez un groupe de ressources exclusif pour Data Integration qui répond à vos besoins professionnels. Pour plus d'informations, consultez Utiliser un groupe de ressources exclusif pour Data Integration.
Établissez la connectivité réseau entre le groupe de ressources exclusif pour Data Integration et les sources de données. Pour plus d'informations, consultez Solutions de connectivité réseau.
Accéder à la page DataStudio
Connectez-vous à la console DataWorks.
Dans le volet de navigation de gauche, cliquez sur Workspace list.
Sélectionnez la région de votre espace de travail, repérez l'espace de travail, puis cliquez sur Data Studio dans la colonne Actions.
Procédure
-
Étape 2 : Configurer la tâche de synchronisation par lots
Configurer la connexion réseau
Sélectionner les objets à synchroniser
Configurer les mappages de champs
Configurer le contrôle des canaux
Configurer les propriétés de planification
Étape 1 : Créer un nœud de synchronisation par lots
Créez un workflow. Pour plus d'informations, consultez Créer un workflow.
-
Créez un nœud de synchronisation par lots.
Vous pouvez créer un nœud de synchronisation par lots de deux manières :
Méthode 1 : Développez le workflow, cliquez avec le bouton droit sur Data integration, puis choisissez .
Méthode 2 : Double-cliquez sur le nom du workflow. Dans le dossier Data integration, faites glisser le nœud Batch Synchronization vers la zone d'édition du workflow située à droite.
Dans la boîte de dialogue qui s'affiche, spécifiez les paramètres du nœud de synchronisation par lots.
Étape 2 : Configurer la tâche de synchronisation par lots
-
Configurez la connexion réseau.
Sélectionnez la source et la destination de la tâche de synchronisation par lots ainsi que le groupe de ressources utilisé pour exécuter la tâche, puis testez la connectivité.
Data Integration prend également en charge la synchronisation des données provenant de bases de données et de tables sources fragmentées vers une seule table de destination. Pour plus d'informations, consultez Synchronisation fragmentée.
Si la connexion réseau entre la source de données et le groupe de ressources échoue, suivez les instructions affichées à l'écran ou consultez Solutions de connectivité réseau pour configurer la connectivité réseau.
ImportantLes options de configuration varient selon le plugin. Le contenu suivant utilise des paramètres courants à titre d'exemple. Pour vérifier si un plugin prend en charge un paramètre spécifique et comment le configurer, consultez la documentation du plugin. Pour plus d'informations, consultez
Sources de données prises en charge et plugins Reader/Writer
.
-
Cliquez sur Next step pour configurer la tâche de synchronisation.
-
Sélectionnez les objets à synchroniser.
Dans la zone de sélection de la source de données, configurez les tables source et destination, puis spécifiez l'étendue de la synchronisation. Dans la zone
Source
à gauche, sélectionnez un type de source de données (par exemple, MySQL), une base de données et une table. Dans la zone
Destination
à droite, sélectionnez une source de données de destination (par exemple, MaxCompute) et une table de destination. Ensuite, configurez les options
Clean-up Rule
(par exemple,
Clean Existing Data Before Writing (Insert Overwrite)
) et
Empty String as Null
. Vous pouvez cliquer sur
Generate Target Table
pour créer rapidement une table de destination.
-
Reader
Actions Description Configurer l'étendue de la synchronisation - Si vous spécifiez une condition de filtre dans la zone de texte Data Filter, la tâche de synchronisation ne synchronise que les données correspondant à cette condition. Vous pouvez également utiliser des paramètres de planification dans la condition de filtre pour permettre à celle-ci de changer dynamiquement en fonction de l'heure de planification de la tâche. Cela permet de mettre en œuvre la synchronisation incrémentielle des données. La méthode de configuration de la synchronisation incrémentielle varie selon le plugin. Pour plus d'informations, consultez Scénario : Configurer une tâche de synchronisation par lots pour des données incrémentielles.Remarque
- Lorsque vous cliquez sur Suivant pour configurer les propriétés de planification, vous pouvez attribuer des valeurs aux variables définies dans les paramètres de filtre de données et de table de destination. Cela vous permet d'écrire des données incrémentielles ou complètes dans des partitions spécifiques basées sur le temps dans la table de destination. Pour plus d'informations sur l'utilisation des paramètres de planification, consultez Formats pris en charge des paramètres de planification.
- La syntaxe de la condition de filtre pour la synchronisation incrémentielle est similaire à la syntaxe standard des bases de données. Lors de la synchronisation, la tâche de synchronisation par lots concatène une instruction SQL complète pour extraire les données de la source.
- Si vous ne spécifiez aucune condition de filtre de données, la tâche synchronise par défaut toutes les données de la table.
Configurer une clé de fragmentation pour une base de données relationnelle Spécifie le champ source utilisé pour diviser les données. Lorsque la tâche de synchronisation s'exécute, elle divise les données en plusieurs sous-tâches en fonction de cette clé, ce qui permet une lecture parallèle et par lots des données.Remarque- Utilisez la clé primaire de la table comme splitPk, car les clés primaires sont généralement réparties de manière uniforme, ce qui aide à éviter les points chauds de données dans les fragments résultants.
- Actuellement, splitPk prend uniquement en charge la division des données de type entier. Il ne prend pas en charge les chaînes, les nombres à virgule flottante, les dates ou d'autres types de données. Si vous spécifiez un type de données non pris en charge, la fonction splitPk est ignorée et la tâche utilise un seul canal pour la synchronisation.
- Si vous ne spécifiez pas splitPk ou si vous laissez ce champ vide, la tâche synchronise les données via un seul canal.
- Tous les plugins ne prennent pas en charge les clés de fragmentation pour configurer la logique de division des tâches. Pour plus d'informations, consultez la documentation de votre plugin spécifique. Pour plus d'informations, consultez Sources de données prises en charge et plugins Reader/Writer.
- Si vous spécifiez une condition de filtre dans la zone de texte Data Filter, la tâche de synchronisation ne synchronise que les données correspondant à cette condition. Vous pouvez également utiliser des paramètres de planification dans la condition de filtre pour permettre à celle-ci de changer dynamiquement en fonction de l'heure de planification de la tâche. Cela permet de mettre en œuvre la synchronisation incrémentielle des données. La méthode de configuration de la synchronisation incrémentielle varie selon le plugin. Pour plus d'informations, consultez Scénario : Configurer une tâche de synchronisation par lots pour des données incrémentielles.
-
Writer
Actions Description | Configurer les instructions SQL avant et après la synchronisation | Certaines sources de données vous permettent d'exécuter des instructions SQL sur la destination avant l'écriture des données (pré-synchronisation) ou après l'écriture des données (post-synchronisation).
Exemple : MySQL Writer prend en charge preSql et postSql. Vous pouvez exécuter des commandes MySQL avant ou après l'écriture des données dans MySQL. Par exemple, dans la configuration Statement to Execute Before Writing (preSql) de MySQL Writer, vous pouvez saisir la commandetruncate table tablenamepour effacer les anciennes données d'une table avant d'écrire les nouvelles données.|
Définir le mode d'écriture pour les conflits
Spécifie comment gérer les conflits d'écriture, tels que les conflits de chemin ou de clé primaire. Les paramètres disponibles dépendent de la source de données et des fonctionnalités du plugin Writer. Pour plus de détails sur la configuration, consultez la documentation de votre plugin Writer spécifique.
-
-
Configurez les mappages de champs.
Après avoir configuré les mappages de champs, la tâche écrit les données des champs source vers les champs de destination correspondants en fonction des mappages.
Lors de la synchronisation, des incompatibilités de type de données entre les champs source et destination peuvent générer des données erronées, ce qui peut entraîner des échecs d'écriture. Vous pouvez configurer la tolérance aux données erronées à l'étape Channel.
RemarqueSi un champ source n'est pas mappé à un champ de destination, ses données ne sont pas synchronisées.
Vous pouvez mapper les champs par nom ou par ligne. Vous pouvez également effectuer les actions suivantes :
-
Attribuer des valeurs aux champs de destination : Cliquez sur Add Row pour ajouter des constantes ou des variables à la table de destination, telles que '123' ou '${variable_name}'.
RemarqueLorsque vous cliquez sur Suivant pour configurer les propriétés de planification, vous pouvez attribuer des valeurs aux variables définies ici. Pour plus d'informations sur l'utilisation des paramètres de planification, consultez
Formats pris en charge des paramètres de planification
.
-
Modifier les champs source : Cliquez sur l'icône

située à côté d'un type de données pour effectuer les actions suivantes :
Utiliser les fonctions prises en charge par la base de données source pour traiter les champs. Par exemple, utilisez
Max(id)pour synchroniser uniquement l'enregistrement ayant l'ID maximal.Modifier manuellement les champs source si certains champs n'ont pas été récupérés automatiquement lors du processus de mappage.
RemarqueMaxCompute Reader ne prend pas en charge les fonctions.
-
-
Configurez le contrôle des canaux.
Vous pouvez configurer les paramètres des canaux pour contrôler diverses propriétés du processus de synchronisation des données.
Parameter Description Expected Maximum Concurrency Le nombre maximal de threads parallèles pour la lecture depuis la source ou l'écriture vers la destination. Remarque En raison des contraintes de ressources et d'autres facteurs, le nombre réel de sessions concurrentes peut ne pas atteindre la valeur spécifiée. Les frais pour un groupe de ressources de débogage sont basés sur le nombre réel de sessions concurrentes. Pour plus d'informations, consultez Métriques de performance.Bandwidth Throttling Le taux de synchronisation des données. - Rate Limit : Vous pouvez limiter le taux de synchronisation pour protéger la base de données source d'une charge excessive. Le taux minimum est de 1 Mo/s.
- No Rate Limit : La tâche s'exécute à la vitesse maximale possible autorisée par l'environnement matériel et les paramètres de concurrence.
Remarque Cette métrique de trafic est mesurée par Data Integration et peut ne pas refléter le trafic réel de la carte d'interface réseau (NIC). Généralement, le trafic NIC est 1 à 2 fois supérieur au trafic du canal. La différence réelle dépend de la méthode de sérialisation du système de stockage de données.Error record count (dirty data control) Le seuil pour les données erronées et son impact sur la tâche. Important Une grande quantité de données erronées peut ralentir la vitesse globale de synchronisation.- Si non configuré, la tâche autorise par défaut les données erronées et l'exécution de la tâche n'est pas affectée.
- Si défini sur 0, aucune donnée erronée n'est autorisée. La tâche échoue si des données erronées sont générées.
- Si vous autorisez les données erronées et définissez un seuil :
- Si le nombre d'enregistrements de données erronées est inférieur ou égal au seuil, la tâche ignore les données erronées (elles ne sont pas écrites dans la destination) et continue de s'exécuter.
- Si le nombre d'enregistrements de données erronées dépasse le seuil, la tâche échoue.
Remarque Qu'est-ce qu'une donnée erronée ? Une donnée erronée est une donnée qui n'a pas de sens pour votre activité, qui est mal formatée ou qui provoque un problème lors de la synchronisation. Data Integration considère un enregistrement comme une donnée erronée si une erreur se produit lors de son écriture dans la source de données de destination. Tout enregistrement dont l'écriture échoue est classé comme donnée erronée.Par exemple, si vous tentez d'écrire une valeur VARCHAR de la source dans une colonne INT de la destination, une erreur de conversion peut se produire et l'écriture des données échoue. Cet enregistrement est considéré comme une donnée erronée. Lorsque vous configurez une tâche de synchronisation, vous pouvez contrôler si les données erronées sont autorisées et définir une limite sur le nombre d'enregistrements de données erronées. Si la limite est dépassée, la tâche échoue.
Distributed Execution Spécifie si la tâche doit être exécutée en mode distribué. - Activé : Le mode distribué divise la tâche en tranches et les exécute simultanément sur plusieurs nœuds. Cela permet à la vitesse de synchronisation de s'adapter horizontalement à la taille du cluster d'exécution, surmontant ainsi les goulots d'étranglement d'une machine unique.
- Désactivé : La concurrence configurée s'applique uniquement aux threads sur une seule machine et n'exploite pas le calcul multi-machines.
Important- Si votre groupe de ressources exclusif ne comporte qu'une seule machine, n'utilisez pas le mode distribué, car il ne peut pas exploiter les capacités multi-machines.
- Si une seule machine répond déjà à vos exigences de vitesse, utilisez le mode mono-machine par simplicité.
- Vous pouvez activer la capacité de traitement distribué uniquement si le nombre de sessions concurrentes est supérieur ou égal à 8.
- La prise en charge du mode distribué varie selon la source de données. Pour plus de détails, reportez-vous à la documentation de votre plugin spécifique : Sources de données prises en charge et plugins Reader/Writer.
RemarqueLes paramètres précédents, ainsi que les performances de la source de données et l'environnement réseau, affectent la vitesse globale de synchronisation. Pour plus d'informations sur l'optimisation de la vitesse, consultez
Accélérer ou limiter les tâches de synchronisation par lots
.
-
-
Cliquez sur Next step pour configurer les propriétés de planification.
Pour une tâche de synchronisation par lots planifiée périodiquement, vous devez configurer ses propriétés de planification automatique. Pour plus d'informations sur l'utilisation des paramètres de planification, consultez
Utiliser les paramètres de planification dans Data Integration
.
Configurer les propriétés de planification des nœuds : Attribuez des paramètres de planification comme valeurs aux variables utilisées dans les configurations précédentes. Vous pouvez attribuer des constantes ou des variables.
Configurer les propriétés temporelles : Définissez la planification périodique de la tâche dans l'environnement de production. Dans la section des propriétés temporelles de la configuration de planification, vous pouvez configurer des propriétés telles que la méthode de génération des instances, le type de planification et le cycle de planification.
-
Configurer les propriétés des ressources : Sélectionnez le groupe de ressources de planification pour envoyer la tâche au groupe de ressources d'exécution pour Data Integration. Dans la section des propriétés des ressources de la configuration de planification, vous pouvez sélectionner le groupe de ressources à utiliser pour exécuter la tâche planifiée.
RemarqueUn groupe de ressources de planification envoie les tâches par lots Data Integration à un groupe de ressources d'exécution, ce qui engendre des frais de planification. Pour plus d'informations sur le mécanisme de distribution des tâches, consultez
Groupes de ressources dans DataWorks
.
Cliquez sur Complete configuration.
Étape 3 : Valider et déployer la tâche
Si la tâche doit s'exécuter selon une planification périodique, vous devez la déployer dans l'environnement de production. Pour plus d'informations sur le déploiement des tâches, consultez Déployer des tâches.
Étapes suivantes
Une fois la tâche déployée dans l'environnement de production, vous pouvez accéder à Operation Center pour consulter la tâche planifiée. Pour plus d'informations sur les opérations et la maintenance (O&M), telles que l'exécution et la gestion des tâches, la surveillance de l'état des tâches et la gestion des groupes de ressources pour les tâches de synchronisation par lots, consultez
O&M pour les tâches de synchronisation par lots
.