Tous les produits
Search
Centre de documentation

DataWorks:Analyser les journaux de synchronisation par lot

Dernière mise à jour :Aug 21, 2026

Cette rubrique explique comment consulter les journaux d'une tâche de synchronisation par lot.

Accéder à la page des détails des journaux

Vous pouvez consulter les journaux d'exécution des tâches depuis Operation Center ou DataStudio.

Module

Description

Operation Center

Accédez à la page Auto Triggered Instances, Test Instance ou Data Backfill. Filtrez pour trouver l'instance que vous souhaitez inspecter, puis ouvrez sa page de détails des journaux. Pour plus d'informations, consultez les rubriques Afficher les instances récurrentes, Remplir les données et afficher les instances de remplissage des données et Exécuter un test et afficher les instances de test.

DataStudio

Sur la page Historique des opérations, vous pouvez consulter les journaux d'exécution des tâches exécutées au cours des trois derniers jours.

Lire les journaux de synchronisation par lot

L'exemple ci-dessous présente un journal récapitulatif pour une tâche. Vous pouvez également cliquer sur les liens de la zone ① ou de la zone ⑤ pour afficher les journaux détaillés de chaque étape.


errorLimit=[{"record":""}              ]
            locale=[zh_CN                    ]
            speed=[{"throttle":false,"concurrent":2}]
End instance loop.
2022-05-15 00:26:34 : Start Job[749320617], traceId [2837894xxx                              32488744735#70000xxx
]
2022-05-15 00:26:34 : The Job[749xxx517] will run in PhysicsPipeline [basecommon              xxx 5_ecs] with requestIdxxx
2022-05-15 00:26:34 : Detail log url: https://di-cn-shanghai.data.aliyun.xxx                                    ouxxx
2022-05-15 00:26:34 : State: 1(SUBMIT) |  Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:27:04 : State: 2(WAIT) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:27:xxx : State: 2(WAIT) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:27:19 : State: 2(WAIT) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:27:34 : State: 2(WAIT) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:27:50 : State: 2(WAIT) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:28:05 : State: 2(WAIT) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:28:xxx : State: 3(RUN) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:28:xxx : State: 3(RUN) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:28:50 : State: 3(RUN) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:29:05 : State: 3(RUN) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:29:20 : State: 3(RUN) | Total: 0R 0B | Speed: 0R/s 0B/s | Stage: 0.0%
2022-05-15 00:2xxx : State: 0(SUCCESS) | Total: 570386R 148.5MB | Speed: 37671R/s 9.8MB/s | Dirty data: 1R 28B | Stage: 100.0%
2022-05-15 00:29:36 : DI Job[749320617] completed successfully.
2022-05-15 00:29:36 : ---
DI Submit at          : 2022-05-15 00:26:34
DI Start at           : 2022-05-15 00:28:10
DI Finish at          : 2022-05-15 00:29:23
2022-05-15 00:29:36 : Use "cdp job -log 749320617 [-p basecomxxx              xxx6]" for more detail.
2022-05-15 00:2xxx : Detail log url: https://di-cn-shaxxx                                          xxx Group
Exit with SUCCESS.
2022-05-15 00:29:36 [INFO] Sandbox context cleanup temp file success.
2022-05-15 00:29:36 [INFO] Data synchronization ended with return code: [0].
2022-05-15 00:29:36 INFO =========================================================================
2022-05-15 00:29:36 INFO Exit code of the Shell command 0
2022-05-15 00:29:36 INFO --- Invocation of Shell command completed ---
2022-05-15 00:29:36 INFO Shell run successfully!

Zone

Paramètre

Description

Soumission de l'instance (zone ①)

SUBMIT : Le système de planification a soumis la tâche de synchronisation à un groupe de ressources pour Data Integration. Cela indique que le système a traité la définition de la tâche.

Le système de planification distribue la tâche à un groupe de ressources pour exécution. La zone ① affiche le groupe de ressources Data Integration utilisé par la tâche. La sortie du journal varie selon le type de groupe de ressources :

  • Si la tâche s'exécute sur le groupe de ressources par défaut, le journal affiche le message suivant :

    running in Pipeline[basecommon_ group_xxxxxxxxx]

  • Si la tâche s'exécute sur un groupe de ressources exclusif pour Data Integration, le journal affiche le message suivant :

    running in Pipeline[basecommon_S_res_group_xxx]

  • Si la tâche s'exécute sur un groupe de ressources serverless, le journal affiche le message suivant :

    running in Pipeline[basecommon_Serverless_res_group_xxx]

Remarque

Vous pouvez également cliquer sur Detail log url dans cette zone pour afficher les journaux détaillés de chaque étape d'exécution.

Demande de ressources (zone ②)

WAIT : La tâche de synchronisation attend que les ressources d'exécution Data Integration soient disponibles.

Si une tâche reste dans l'état WAIT pendant une période prolongée, d'autres tâches occupent peut-être les ressources du groupe de ressources. Vous pouvez résoudre ce problème de plusieurs manières :

  • Attendez que les tâches占用antes se terminent et libèrent les ressources, puis démarrez votre tâche. Pour identifier les tâches gourmandes en ressources, consultez la rubrique Scénarios et solutions pour une synchronisation des données lente.

  • Identifiez les tâches qui occupent les ressources et coordonnez-vous avec leurs propriétaires pour réduire la concurrence.

  • Réduisez la concurrence de la tâche de synchronisation actuelle et soumettez-la à nouveau.

  • Mettez à l'échelle le groupe de ressources. Pour plus d'informations, consultez la rubrique Opérations de mise à l'échelle horizontale et verticale.

Démarrage de la synchronisation (zone ③)

RUN : La tâche de synchronisation est en cours.

Une tâche de synchronisation par lot comporte quatre étapes d'exécution :

  1. Exécution du pré-SQL

    Selon votre configuration, le système envoie une instruction pre-SQL à la base de données. Toutes les tâches n'incluent pas cette étape.

    • Par exemple, pour un writer MySQL, si vous avez configuré une instruction PreSQL à exécuter avant la tâche de synchronisation des données, cette instruction SQL est exécutée à cette étape.

    • Par exemple, pour un reader MySQL, si vous avez configuré une instruction querySql ou une clause where pour le filtrage des données, ces instructions SQL sont exécutées à cette étape.

    • Par exemple, lors de l'écriture de données dans MaxCompute, vous pouvez activer l'option Delete Existing Data Before Writing.

    Remarque

    Nous vous recommandons d'utiliser des champs indexés dans les conditions de filtre pour éviter les requêtes SQL longues, qui peuvent augmenter le temps global de synchronisation ou provoquer des délais d'expiration de la base de données interrompant la tâche.

  2. Fractionnement de la tâche

    À cette étape, le système divise les données source en plusieurs sous-tâches pour une lecture simultanée par lots. Les règles de fractionnement sont les suivantes :

    • Bases de données relationnelles : Le système divise les données en plusieurs tâches en fonction de la clé de fragmentation spécifiée (splitPk). Ces tâches sont ensuite lues par lots simultanés. Si aucune clé de fragmentation n'est définie, la tâche utilise un seul canal pour la synchronisation.

    • LogHub, DataHub et MongoDB : Les données sont divisées par le nombre de shards. La concurrence maximale des tâches ne peut pas dépasser le nombre de shards.

    • Stockage semi-structuré : Les données sont divisées par le nombre de fichiers ou le volume de données. Par exemple, pour une tâche OSS, la concurrence maximale ne peut pas dépasser le nombre de fichiers.

  3. Synchronisation des données

    À cette étape, le système synchronise les tâches fractionnées par lots selon la concurrence que vous avez configurée. Pour une base de données relationnelle, la clé de fragmentation est utilisée pour générer plusieurs instructions SQL de récupération de données qui demandent des données à la base de données en parallèle. Pour plus d'informations, consultez la rubrique Relation entre la concurrence de la synchronisation par lot et la limitation du débit.

    Remarque
    • La concurrence réelle lors de l'exécution peut différer de la valeur que vous avez définie.

    • Une clé de fragmentation mal configurée peut entraîner des requêtes SQL longues, ce qui peut augmenter le temps global de synchronisation ou provoquer des délais d'expiration de la base de données interrompant la tâche.

    • Une charge élevée de la base de données peut également ralentir l'exécution de la tâche.

  4. Exécution du post-SQL

    Selon votre configuration, le système envoie une instruction post-SQL à la base de données. Toutes les tâches n'incluent pas cette étape.

    • Par exemple, pour un writer MySQL, si vous avez configuré une instruction PostSQL à exécuter après la synchronisation des données, cette instruction SQL est exécutée à cette étape.

    • Le temps d'exécution de l'instruction PostSQL contribue au temps total d'exécution de la tâche.

Exécution terminée (zone ④)

Il existe deux statuts de fin :

  • FAIL : La tâche de synchronisation a échoué.

  • SUCCESS : La tâche de synchronisation a réussi.

  • Si la tâche échoue, le journal affiche un message d'erreur clé. Vous pouvez cliquer sur le lien de la zone ⑤ pour afficher le processus d'exécution détaillé de chaque étape.

  • Si la tâche réussit, le journal affiche un résumé, y compris le nombre total d'enregistrements synchronisés et la vitesse moyenne de synchronisation.

Remarque
  • Si des données incorrectes sont générées pendant la synchronisation, le journal affiche un message similaire à Dirty data: xxR. Les données incorrectes ne sont pas écrites dans la destination.

  • Une grande quantité de données incorrectes peut affecter la vitesse de synchronisation. Si la vitesse de synchronisation est une préoccupation, traitez d'abord le problème des données incorrectes. Pour plus d'informations sur les données incorrectes, consultez la rubrique Fonctionnalités de configuration des tâches de synchronisation par lot.

  • Vous pouvez configurer un seuil de tolérance aux données incorrectes pour contrôler si les données incorrectes affectent l'exécution de la tâche. Par défaut, les tâches de synchronisation par lot tolèrent les données incorrectes. Vous pouvez modifier ce paramètre dans la configuration de la tâche. Pour configurer une tâche, consultez les rubriques Configurer une tâche dans l'interface sans code ou Configurer une tâche dans l'éditeur de code.

Lien vers le journal détaillé (zone ⑤)

Un lien vers le journal détaillé.

Cliquez sur le lien pour afficher les journaux détaillés de chaque étape d'exécution.

Annexe : Configuration de la clé de fragmentation

  • Nous vous recommandons d'utiliser la clé primaire de la table comme valeur splitPk. Les clés primaires sont généralement réparties uniformément, ce qui permet d'éviter les points chauds de données dans les fragments résultants.

  • Le paramètre splitPk prend uniquement en charge les types de données entiers. Il ne prend pas en charge les chaînes, les nombres à virgule flottante ou les dates. Si vous configurez splitPk avec un type de données non pris en charge, DataWorks ignore le paramètre et utilise un seul canal pour la synchronisation des données.

  • Si vous ne spécifiez pas splitPk, c'est-à-dire si vous ne fournissez pas splitPk ou si la valeur de splitPk est vide, les données de la table sont synchronisées à l'aide d'un seul canal.