Todos os produtos
Search
Central de documentação

DataWorks:Analisar logs de sincronização em lote

Última atualização: Aug 21, 2026

Este tópico explica como visualizar os logs de uma tarefa de sincronização em lote.

Acessar a página de detalhes do log

Visualize os logs de execução da tarefa no Operation Center ou no DataStudio.

Módulo

Descrição

Operation Center

Acesse a página Auto Triggered Instances, Test Instance ou Data Backfill. Filtre a instância desejada e abra a página de detalhes do log. Para mais informações, consulte View recurring instances, Backfill data and view data backfill instances e Run a test and view test instances.

DataStudio

Na página Operation History, visualize os logs de execução das tarefas dos últimos três dias.

Ler logs de sincronização em lote

O exemplo a seguir mostra um log de resumo de uma tarefa. Clique em nos links da Área ① ou da Área ⑤ para visualizar os logs detalhados de cada estágio.


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!

Área

Parâmetro

Descrição

Envio da instância (Área ①)

SUBMIT: O sistema de agendamento enviou a tarefa de sincronização para um grupo de recursos do Data Integration. Isso indica que o sistema processou a definição da tarefa.

O sistema de agendamento despacha a tarefa para um grupo de recursos para execução. A Área ① mostra o grupo de recursos do Data Integration em uso pela tarefa. A saída do log varia conforme o tipo de grupo de recursos:

  • Se a tarefa for executada no grupo de recursos padrão, o log exibirá a seguinte mensagem:

    running in Pipeline[basecommon_ group_xxxxxxxxx]

  • Caso a tarefa seja executada em um grupo de recursos exclusivo para Data Integration, o log mostrará esta mensagem:

    running in Pipeline[basecommon_S_res_group_xxx]

  • Quando a tarefa for executada em um grupo de recursos serverless, a mensagem exibida no log será:

    running in Pipeline[basecommon_Serverless_res_group_xxx]

Nota

Você também pode clique em Detail log url nesta área para visualizar os logs detalhados de cada estágio de execução.

Solicitação de recursos (Área ②)

WAIT: A tarefa de sincronização aguarda a disponibilidade de recursos de execução do Data Integration.

Se uma tarefa permanecer no status WAIT por muito tempo, outras tarefas podem estar ocupando os recursos do grupo. Resolva esse problema das seguintes formas:

  • Aguarde a conclusão das tarefas que ocupam os recursos e libere-os antes de iniciar sua tarefa. Para identificar as tarefas que consomem muitos recursos, consulte Scenarios and solutions for slow data synchronization.

  • Identifique as tarefas que ocupam recursos e coordene com os proprietários para reduzir a concorrência.

  • Reduza a concorrência da tarefa de sincronização atual e reenvie-a.

  • Escale horizontalmente o grupo de recursos. Para mais informações, consulte Scale-out and scale-in operations.

Início da sincronização (Área ③)

RUN: A tarefa de sincronização está em andamento.

Uma tarefa de sincronização em lote possui quatro estágios de execução:

  1. Execução de pré-SQL

    Com base na configuração, o sistema envia uma instrução pré-SQL para o banco de dados. Nem todas as tarefas incluem este estágio.

    • Por exemplo, em um writer MySQL, se você configurou uma instrução PreSQL para execução antes da tarefa de sincronização de dados, essa instrução SQL será executada neste estágio.

    • No caso de um reader MySQL, caso tenha definido uma instrução querySql ou uma cláusula where para filtragem de dados, essas instruções SQL são executadas nesta fase.

    • Ao gravar dados no MaxCompute, por exemplo, ative a opção Delete Existing Data Before Writing.

    Nota

    Recomendamos o uso de campos indexados nas condições de filtro para evitar consultas SQL demoradas. Consultas longas podem aumentar o tempo total de sincronização ou causar timeouts no banco de dados, interrompendo a tarefa.

  2. Divisão da tarefa

    Neste estágio, o sistema divide os dados de origem em várias subtarefas para leitura em lotes concorrentes. As regras de divisão são:

    • Bancos de dados relacionais: O sistema divide os dados em múltiplas tarefas com base na chave de fragmentação especificada (splitPk). Essas tarefas são lidas em lotes concorrentes. Se nenhuma chave de fragmentação for definida, a tarefa usará um único canal para sincronização.

    • LogHub, DataHub e MongoDB: Os dados são divididos pelo número de shards. A concorrência máxima da tarefa não pode exceder o número de shards.

    • Armazenamento semiestruturado: A divisão ocorre pelo número de arquivos ou volume de dados. Em uma tarefa do OSS, por exemplo, a concorrência máxima não pode superar a quantidade de arquivos.

  3. Sincronização de dados

    Nesta fase, o sistema sincroniza as tarefas divididas em lotes, respeitando a concorrência configurada. Para bancos de dados relacionais, a chave de fragmentação gera múltiplas instruções SQL de recuperação de dados, solicitando informações do banco em paralelo. Para mais detalhes, consulte Relationship between batch synchronization concurrency and rate limiting.

    Nota
    • A concorrência real durante a execução pode diferir do valor definido.

    • Uma chave de fragmentação mal configurada pode resultar em consultas SQL longas. Isso aumenta o tempo total de sincronização ou provoca timeouts no banco de dados que interrompem a tarefa.

    • Cargas elevadas no banco de dados também podem desacelerar a execução da tarefa.

  4. Execução de pós-SQL

    Conforme a configuração, o sistema envia uma instrução pós-SQL ao banco de dados. Este estágio não está presente em todas as tarefas.

    • Em um writer MySQL, por exemplo, se houver uma instrução PostSQL configurada para execução após a sincronização dos dados, ela será executada neste momento.

    • O tempo de execução da instrução PostSQL compõe o tempo total de execução da tarefa.

Execução concluída (Área ④)

Existem dois status de conclusão:

  • FAIL: A tarefa de sincronização falhou.

  • SUCCESS: A tarefa de sincronização foi bem-sucedida.

  • Em caso de falha, o log exibe uma mensagem de erro principal. Clique em no link da Área ⑤ para ver o processo de execução detalhado de cada estágio.

  • Se a tarefa tiver sucesso, o log apresenta um resumo com o total de registros sincronizados e a velocidade média de sincronização.

Nota
  • Caso dados sujos sejam gerados durante a sincronização, o log exibirá uma mensagem semelhante a Dirty data: xxR. Dados sujos não são gravados no destino.

  • Um grande volume de dados sujos pode impactar a velocidade de sincronização. Se a performance for uma preocupação, resolva primeiro a questão dos dados sujos. Para mais informações sobre dados sujos, consulte Features of batch synchronization task configuration.

  • Configure uma tolerância de contagem de dados sujos para controlar se eles afetam a execução da tarefa. Por padrão, tarefas de sincronização em lote toleram dados sujos. Altere essa configuração nas definições da tarefa. Para configurar uma tarefa, consulte Configure a task in the codeless UI ou Configure a task in the code editor.

Link do log detalhado (Área ⑤)

Link para o log detalhado.

Clique em no link para visualizar os logs detalhados de cada estágio de execução.

Apêndice: Configuração da chave de fragmentação

  • Recomendamos utilizar a chave primária da tabela como valor de splitPk. Chaves primárias geralmente têm distribuição uniforme, o que ajuda a evitar hot spots de dados nos shards resultantes.

  • O parâmetro splitPk aceita apenas tipos de dados inteiros. Strings, números de ponto flutuante ou datas não são suportados. Se você configurar splitPk com um tipo de dado incompatível, o DataWorks ignorará a configuração e usará um único canal para a sincronização de dados.

  • Caso não especifique splitPk, ou seja, se não fornecer splitPk ou o valor de splitPk estiver vazio, a sincronização dos dados da tabela ocorrerá por meio de um único canal.