Tous les produits
Search
Centre de documentation

DataWorks:Configure a batch synchronization task in script mode

Dernière mise à jour :Aug 09, 2026

L'éditeur Code Editor vous permet de rédiger un script JSON pour la synchronisation des données et d'utiliser les paramètres de planification DataWorks pour synchroniser périodiquement toutes les données ou les données incrémentielles d'une table source unique ou de tables fragmentées vers une table de destination. Les configurations varient selon la source de données. Pour plus d'informations, consultez la liste des sources de données.

Remarques sur l'utilisation

Utilisez l'éditeur Code Editor dans les scénarios suivants :

  • La source de données ne prend pas en charge la configuration en mode Assistant.

    Remarque

    L'interface utilisateur indique si une source de données prend en charge le mode Assistant.

    Par exemple, si vous sélectionnez HBase11xsql comme source de données de destination, un message d'avertissement jaune s'affiche sur la page de configuration du réseau et des ressources : « The current data source type does not support task editing in wizard mode. The task will be configured in script mode. ». Dans ce cas, cliquez sur le bouton

    Learn more.

    dans la barre d'outils pour changer de mode et configurer la tâche.

  • Certains paramètres de configuration des sources de données sont disponibles uniquement dans l'éditeur Code Editor.

  • Vous pouvez utiliser l'éditeur Code Editor pour configurer certaines sources de données qui ne peuvent pas être créées directement dans DataWorks.

Prérequis

Étape 1 : Créer un nœud de synchronisation par lots

Data Studio (new version)

  1. Connectez-vous à la console DataWorks. Dans le volet de navigation de gauche, accédez à Data Development and O&M > DataStudio. Sélectionnez l'espace de travail souhaité dans la liste déroulante et cliquez sur <p><a href={url} target="_blank">Learn more.</a></p>Data Studio.

  2. Créez un workflow. Pour plus d'informations, consultez la rubrique Workflows.

  3. Créez un nœud Data Integration en suivant l'une des méthodes suivantes :

    • Méthode 1 : Dans le coin supérieur droit de la liste des workflows, cliquez sur image, puis accédez à Create Node > Data Integration.

    • Méthode 2 : Double-cliquez sur le nom du workflow, puis faites glisser le nœud Data Integration depuis le répertoire Data Integration vers le panneau d'édition du workflow situé à droite.

  4. Configurez les types source et de destination pour le nœud, sélectionnez Single Table Batch Sync comme type spécifique, puis cliquez sur OK pour terminer la création.

Legacy Data Studio

  1. Connectez-vous à la console DataWorks. Dans le volet de navigation de gauche, accédez à Data Development and O&M > DataStudio. Sélectionnez l'espace de travail souhaité dans la liste déroulante et cliquez sur Data Analytics.

  2. Créez un workflow. Pour plus d'informations, consultez la rubrique Créer un workflow.

  3. Créez un nœud de synchronisation par lots en suivant l'une des méthodes suivantes :

    • Méthode 1 : Développez le workflow, faites un clic droit sur Data Integration > Create Node > Batch Synchronization.

    • Méthode 2 : Double-cliquez sur le nom du workflow, puis faites glisser le nœud Batch Synchronization depuis le répertoire Data Integration vers le panneau d'édition du workflow situé à droite.

  4. Suivez les instructions à l'écran pour créer un nœud de synchronisation par lots.

Étape 2 : Configurer la source de données et le groupe de ressources

Vous pouvez passer du mode Assistant au mode script à n'importe quelle étape. Pour une configuration complète du script, nous recommandons l'approche suivante :

  1. Commencez par utiliser l'assistant pour sélectionner la source de données et le groupe de ressources, puis testez la connectivité réseau.

  2. Passez ensuite en mode script.

Le système remplit automatiquement ces informations dans le script JSON généré.

Vous pouvez également basculer directement, puis configurer manuellement les paramètres en mode script : spécifiez la source de données dans le code JSON, et définissez le groupe de ressources ainsi que la taille de ressource requise dans le panneau Advanced Settings à droite.

Remarque

Étape 3 : Passer en mode script et importer un modèle

Cliquez sur l'icône Convert to Script image dans la barre d'outils.

Si le script n'a pas encore été configuré, vous pouvez cliquer sur l'icône Import Template dans la barre d'outils pour importer rapidement un modèle de script en suivant les instructions à l'écran.

Étape 4 : Modifier le script pour configurer la tâche de synchronisation

Configurations courantes en mode script :

Remarque
  • Les champs type et version sont des valeurs par défaut et ne peuvent pas être modifiés.

  • Vous pouvez ignorer la configuration liée au Processor dans le script (aucune configuration n'est requise).

{
    "type":"job",
    "version":"2.0",
    "steps":[
        {
            "stepType":"plugin_name",
            "parameter":{...},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"plugin_name",
            "parameter":{...},
            "name":"Writer",
            "category":"writer"
        }
    ],
    {
        "name":"Processor",
        "stepType":null,
        "category":"processor",
        "copies":1,
        "parameter":{...}
    },
    "setting":{
        "executeMode":null,
        "errorLimit":{
            "record":""
        },
        "speed":{
            "concurrent":2,
            "throttle":false
        },
        "timeZone":"Asia/Shanghai"
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}
  1. Configurez les informations de base et les mappages de colonnes pour le lecteur (reader) et l'écritureur (writer).

    Important

    Les configurations varient selon les plug-ins. Le contenu suivant décrit uniquement les configurations courantes à titre d'exemple. La prise en charge d'une configuration spécifique et sa mise en œuvre dépendent du plug-in. Pour plus de détails, consultez les sections Reader Script Demo et Writer Script Demo pour chaque source de données dans la liste des sources de données.

    En configurant ces paramètres, vous pouvez :

    • Reader

      Configuration

      Description

      where (configurer la portée de la synchronisation)

      Certains types de sources prennent en charge le filtrage des données. Vous pouvez spécifier une condition (une clause WHERE, sans inclure le mot-clé where) pour filtrer les données source. Lors de l'exécution de la tâche, seules les données répondant à la condition sont synchronisées. Pour plus d'informations, consultez la rubrique Configurer une condition de filtre.

      Pour mettre en œuvre une synchronisation incrémentielle, vous pouvez combiner la condition de filtre avec des paramètres de planification afin de la rendre dynamique. Par exemple, en utilisant gmt_create >= '${bizdate}', la tâche synchronise uniquement les nouvelles données ajoutées chaque jour. Vous devez également attribuer une valeur à la variable définie ici lors de la configuration des paramètres de planification. Pour plus d'informations, consultez la rubrique Configurer les paramètres de planification.

      La méthode de configuration de la synchronisation incrémentielle varie selon les sources de données (plug-ins).

      Si aucune condition de filtre de données n'est configurée, toutes les données de la table sont synchronisées par défaut.

      splitPk (configurer la clé de partitionnement pour les bases de données relationnelles)

      Spécifie la colonne utilisée pour diviser les données source afin d'une lecture parallèle. Lors de l'exécution de la tâche, les données sont réparties en plusieurs tâches en fonction de cette colonne pour des lectures par lots concurrentes.

      • Nous vous recommandons d'utiliser la clé primaire comme valeur splitPk, car les clés primaires sont généralement distribuées de manière uniforme, ce qui permet d'éviter les points chauds de données.

      • Actuellement, splitPk prend en charge uniquement le partitionnement basé sur des entiers. Les autres types, tels que les chaînes, les nombres à virgule flottante et les dates, ne sont pas pris en charge. Si vous spécifiez un type non pris en charge, la fonctionnalité splitPk est ignorée et les données sont synchronisées via un seul canal.

      • Si splitPk n'est pas spécifié, y compris lorsque le paramètre splitPk n'est pas fourni ou est laissé vide, les données sont synchronisées via un seul canal.

      • Tous les plug-ins ne prennent pas en charge la configuration de la clé de partitionnement. Les informations précédentes sont fournies à titre d'exemple uniquement. Pour plus de détails, consultez la documentation spécifique au plug-in. Pour plus d'informations, consultez les Sources de données prises en charge et solutions de synchronisation.

      column (définir les colonnes source)

      Définissez les colonnes à synchroniser depuis la source dans le tableau column. Vous pouvez également écrire des constantes, des variables et des fonctions en tant que colonnes personnalisées vers la destination, telles que '123', '${variable_name}' et 'now()'.

    • Writer

      |
      **Configuration**
      |
      **Description**
      | | --- | --- | |
      preSql & postSql (configurer les instructions SQL avant et après la synchronisation)
      |
      Certaines sources de données permettent d'exécuter des instructions SQL sur la destination avant la synchronisation (avant l'écriture) et après la synchronisation (après l'écriture).


      Exemple : MySQL Writer prend en charge la configuration preSql et postSql, ce qui vous permet d'exécuter des commandes MySQL avant ou après l'écriture des données dans MySQL. Par exemple, vous pouvez configurer la commande MySQL truncate table `truncate table tablename` dans le paramètre **Pre-import Preparation Statement** (preSql) de MySQL Writer pour effacer les anciennes données de la table avant la synchronisation (avant l'écriture des données dans MySQL).
      | |
      writeMode (définir le mode d'écriture en cas de conflits)
      |
      Spécifie le mode d'écriture en cas de conflits, tels que des conflits de chemin ou de clé primaire. Cela varie selon la source de données et le plug-in writer. Consultez la documentation spécifique au plug-in writer pour plus de détails.
      |














  2. Contrôle des canaux.

    Vous pouvez configurer les paramètres d'efficacité dans la section setting, notamment la concurrence, la vitesse de synchronisation et la gestion des données erronées.

    Paramètre

    Description

    executeMode (traitement distribué)

    Contrôle l'activation du mode distribué.

    • distribute : Active le traitement distribué. La tâche est divisée en tranches distribuées sur plusieurs nœuds d'exécution pour une exécution concurrente, permettant à la vitesse de synchronisation de s'adapter horizontalement à la taille du cluster au-delà des limites d'un nœud unique.

    • null : Désactive le traitement distribué. La concurrence configurée s'applique uniquement à la concurrence au niveau du processus sur un nœud unique, et le calcul multi-nœuds ne peut pas être utilisé.

    Important
    • Si votre groupe de ressources exclusif pour Data Integration ne comporte qu'un seul nœud, le mode distribué n'est pas recommandé, car il ne peut pas tirer parti des ressources multi-nœuds.

    • Si un nœud unique répond à vos exigences de vitesse, le mode mono-nœud est recommandé pour sa simplicité.

    • La concurrence doit être supérieure ou égale à 8 pour activer le traitement distribué.

    • Certaines sources de données prennent en charge le mode distribué pour l'exécution des tâches. Pour plus de détails, reportez-vous à la documentation spécifique au plug-in.

    • L'activation du traitement distribué consomme davantage de ressources. Si une erreur d'épuisement de la mémoire (OOM) se produit lors de l'exécution, essayez de désactiver cette option.

    concurrent (concurrence maximale attendue)

    Définit le nombre maximal de threads pour la lecture parallèle depuis la source ou l'écriture vers la destination.

    Remarque

    En raison de facteurs tels que les spécifications des ressources, la concurrence réelle peut être inférieure ou égale à la valeur configurée. Le groupe de ressources de débogage est facturé en fonction de la concurrence réelle. Pour plus d'informations, consultez la rubrique Facturation.

    throttle (vitesse de synchronisation)

    Contrôle la vitesse de synchronisation.

    • true : Active la limitation de débit. Cela protège la base de données source en plafonnant la vitesse d'extraction pour éviter une surcharge. Le taux de limitation minimal est de 1 Mo/s.

      Remarque

      Lorsque throttle est défini sur true, vous devez également définir le paramètre mbps (vitesse de synchronisation).

    • false : Désactive la limitation de débit. La tâche offre les performances de transfert maximales autorisées par l'environnement matériel dans la limite de concurrence configurée.

    Remarque

    La métrique de débit est une mesure interne à Data Integration et ne représente pas le trafic réel de la carte réseau. En général, le trafic de la carte réseau est de 1 à 2 fois supérieur au trafic du canal. Le ratio réel dépend du mécanisme de sérialisation du système de stockage de données.

    errorLimit (contrôle du nombre d'erreurs)

    Définit le seuil de données erronées et son impact sur la tâche.

    Important

    Un volume excessif de données erronées peut affecter la vitesse globale de synchronisation de la tâche.

    • Si non configuré, les données erronées sont autorisées par défaut et n'affectent pas l'exécution de la tâche.

    • 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 pendant la synchronisation.

    • Si les données erronées sont autorisées et qu'un seuil est défini :

      • Si les données erronées restent dans les limites du seuil, la tâche de synchronisation ignore les données erronées (ne les écrit pas dans la destination) et continue normalement.

      • Si les données erronées dépassent le seuil, la tâche de synchronisation échoue.

    Remarque

    Critères des données erronées : Les données erronées sont des données dépourvues de signification métier, dont le format est invalide, ou qui rencontrent des problèmes lors de la synchronisation. Si une exception se produit lors de l'écriture d'un enregistrement dans la destination, cet enregistrement est considéré comme une donnée erronée.

    Par exemple, l'écriture de données VARCHAR de la source dans une colonne INT de la destination entraîne des données erronées en raison d'une conversion de type invalide. Vous pouvez contrôler si les données erronées sont autorisées lors de la configuration de la tâche de synchronisation et définir un nombre maximal d'erreurs afin que la tâche échoue lorsque le nombre de données erronées dépasse la limite spécifiée.

    timeZone (paramètre de fuseau horaire)

    Spécifie le fuseau horaire de la tâche de synchronisation. Ce paramètre prend effet lors de la conversion des colonnes de type heure sur la source ou la destination. Data Integration lit et écrit les colonnes temporelles en fonction du fuseau horaire spécifié.

    Exemple de configuration : "timeZone":"Asia/Shanghai".

    • Ce paramètre ne peut être configuré que dans la section setting en mode script. La destination en mode Assistant (interface sans code) ne prend pas en charge les paramètres de fuseau horaire.

    • La valeur du fuseau horaire utilise le format standard IANA, tel que Asia/Shanghai et America/New_York.

    • S'il n'est pas configuré, Data Integration utilise le fuseau horaire par défaut du système.

    Remarque

    La vitesse globale de synchronisation est également affectée par les performances de la source de données source, l'environnement réseau et d'autres facteurs. Pour plus d'informations, consultez la rubrique Optimiser les tâches de synchronisation par lots.

Étape 5 : Configurer les paramètres de planification

Pour une tâche de synchronisation par lots de table unique avec planification périodique, vous devez configurer les propriétés pour la planification automatique. Accédez à la page d'édition du nœud, cliquez sur Pre-import Preparation Statement à droite, et configurez les paramètres de planification du nœud.

Configurez les paramètres de planification, les politiques de planification, l'horaire de planification et les dépendances pour la tâche de synchronisation. La méthode de configuration est identique à celle des autres nœuds de développement de données.

Pour plus d'informations sur l'utilisation des paramètres de planification, consultez la rubrique Scénarios typiques des paramètres de planification dans Data Integration .

Étape 6 : Soumettre et déployer la tâche

  • Configurez les paramètres d'exécution.

    À droite de la page de configuration de la tâche de synchronisation par lots de table unique, cliquez sur Scheduling Settings et configurez les paramètres suivants pour les exécutions de test.

    |
    **Élément de configuration**
    |
    **Description**
    | | --- | --- | |
    **Resource Group**
    |
    Sélectionnez un groupe de ressources disposant d'une connectivité réseau avec les sources de données.
    | |
    **Script Parameters**
    |
    Attribuez des valeurs aux paramètres d'espace réservé dans la tâche de synchronisation des données. Par exemple, si la tâche Data Integration utilise le paramètre `${bizdate}`, configurez un paramètre de date au format `yyyymmdd`.
    |











  • Exécutez la tâche.

    Cliquez sur le bouton Exécuter image dans la barre d'outils pour exécuter et déboguer la tâche dans Data Studio. Vous pouvez ensuite créer un nœud du type de table de destination correspondant pour interroger les données de la table de destination et vérifier si les données synchronisées répondent aux attentes.

  • Déployez la tâche.

    Une fois que la tâche a passé le test d'exécution avec succès, si elle doit être exécutée périodiquement, cliquez sur le bouton image en haut de la page d'édition du nœud pour déployer la tâche dans l'environnement de production. Pour plus d'informations sur le déploiement des tâches, consultez la rubrique Déployer des tâches.

Étape suivante

Une fois la tâche déployée, accédez au Operation Center dans l'environnement de production pour afficher la tâche planifiée. Pour plus d'informations sur l'exécution, la gestion et la surveillance des tâches Data Integration, consultez la rubrique O&M des tâches Data Integration.

Références