Todos os produtos
Search
Central de documentação

DataWorks:Parâmetros avançados para sincronização em tempo real

Última atualização: Jun 27, 2026

As tarefas de sincronização em tempo real oferecem parâmetros avançados para ajustar o desempenho, o comportamento de failover e o uso de memória. Os parâmetros são agrupados por escopo: os parâmetros General aplicam-se a todas as tarefas; os parâmetros Writes to MaxCompute aplicam-se apenas quando o MaxCompute é o destino.

Parâmetros gerais

Estes parâmetros aplicam-se a todas as tarefas de sincronização em tempo real, independentemente do destino.

Configuração automática de runtime

Atributo

Valor

Valores

true / false

Padrão

true

Controla se o sistema define automaticamente a concorrência e os parâmetros relacionados com base no número de CUs.

true O sistema define a concorrência automaticamente. Se a concorrência total não for um múltiplo exato do número de shards de source, a distribuição de shards entre as threads de leitura pode ficar desigual. Isso causa desbalanceamento de dados e degrada o desempenho.

false Habilita a configuração manual. Defina este valor como false ao encontrar gargalos de desempenho ou desbalanceamento de dados e ajuste os parâmetros abaixo para otimizar a distribuição de dados.

Intervalo global de flush (segundos)

Atributo

Valor

Valores

Inteiro, 5–1000

Padrão

60

Define o intervalo no qual todas as threads de gravação executam flush em lote dos dados em cache para o destino e avançam o offset de sincronização.

  • Valores maiores aumentam o throughput, mas também elevam a latência de visibilidade dos dados.

  • Valores menores reduzem a latência, porém podem diminuir o throughput.

Em cenários de alto volume onde a latência não é crítica, aumente este valor. Para cargas de trabalho que exigem baixa latência, diminua-o.

Janela de tempo da política de reinício por failover (minutos)

Atributo

Valor

Valores

Inteiro, 1–60

Padrão

30

Define a janela de tempo deslizante usada para contar falhas da tarefa. Quando uma tarefa de sincronização encontra um erro recuperável, o sistema verifica se a contagem de falhas dentro desta janela atingiu o limiar configurado:

  • Abaixo do limiar: a tarefa reinicia e a contagem de falhas aumenta.

  • Limiar excedido: a tarefa é marcada como falha e para de reiniciar.

Uma janela mais curta torna o sistema mais tolerante a erros breves e intermitentes. No entanto, definir um valor muito pequeno na presença de um problema persistente faz com que a tarefa reinicie repetidamente. Isso desperdiça recursos e atrasa a intervenção manual.

Importante

Evite definir esta janela com valores muito pequenos para tarefas que enfrentam problemas persistentes e irrecuperáveis. Reinícios repetidos desperdiçam recursos e atrasam a detecção da causa raiz.

Limiar de contagem de falhas da política de reinício por failover

Atributo

Valor

Valores

Inteiro, 1–100

Padrão

3

Número máximo de reinícios automáticos permitidos dentro da janela de tempo configurada (consulte Janela de tempo da política de reinício por failover).

  • Valores maiores aumentam a tolerância a erros frequentes e intermitentes.

  • Valores menores fazem com que o sistema marque um problema persistente como falha mais rapidamente, evitando desperdício de recursos.

Defina um valor relativamente pequeno para equilibrar a tolerância a falhas com a detecção rápida de problemas.

Concorrência por worker

Atributo

Valor

Valores

Inteiro, 1–100

Padrão

Varia conforme o número de CUs

A concorrência total de uma tarefa de sincronização é calculada da seguinte forma:

Total concurrency = Concurrency per worker × Number of workers

Ajuste este valor para resolver problemas de desbalanceamento de dados. Para origens em Logstore do Log Service (Loghub), defina a concorrência total para corresponder ao número de shards ativos:

Total concurrency = (Highest shard ID − Lowest shard ID) + 1

Mantenha este valor abaixo de 10 por worker para evitar sobrecarga excessiva no agendamento de threads.

Número de workers

Atributo

Valor

Valores

Inteiro, 1–100

Padrão

Varia conforme o número de CUs

A concorrência total de uma tarefa de sincronização é calculada da seguinte forma:

Total concurrency = Concurrency per worker × Number of workers

Aloque no máximo 10 CUs por worker para evitar atrasos no agendamento de recursos.

Parâmetros de gravação no MaxCompute

Estes parâmetros aplicam-se apenas quando o destino é o MaxCompute.

Tamanho da fila de cache de partição

Atributo

Valor

Valores

Inteiro, 5–100

Padrão

5

Aplica-se à gravação em tabelas particionadas não-Delta do MaxCompute. Dentro de cada Intervalo global de flush, a tarefa aloca um cache separado para cada partição de destino. Este parâmetro limita o número máximo de partições armazenadas em cache simultaneamente.

Se o número de partições gravadas dentro de um único intervalo de flush exceder esse limite, o sistema aciona um flush global antecipado para confirmar todos os dados em cache. Flushes antecipados frequentes reduzem a eficiência de gravação e o desempenho geral da sincronização.

Defina o Partition cache queue size com um valor superior ao número máximo de partições distintas que você espera gravar dentro de um único intervalo de flush.

Sinal de diagnóstico: Se a tarefa estiver atrasada e o log contiver uploader map size has reached uploaderMapMaximumSize, o limite de cache de partição foi atingido. Aumente este parâmetro para melhorar o throughput.

Importante

O aumento deste parâmetro eleva o consumo de memória linearmente. Estime o uso de memória com a fórmula abaixo. Dimensione este valor cuidadosamente com base na memória disponível do seu cluster para evitar erros de Out of Memory (OOM).

Memory ≈ 10 MB × Partition cache queue size × Number of workers × Concurrency per worker × Async write thread pool size

Tamanho do pool de threads de gravação assíncrona

Atributo

Valor

Valores

Inteiro, 1–100

Padrão

1

Controla o número de threads de gravação assíncrona por worker. Aumente este valor quando o destino de gravação for o gargalo de desempenho — por exemplo, quando a leitura do Log Service (Loghub) for mais rápida do que a gravação no MaxCompute.

Nota

Mantenha este valor em 10 ou menos para evitar sobrecarga excessiva no agendamento de threads em um worker.

Regra de tratamento de campos superdimensionados

Atributo

Valor

Valores

Do Not Process / Truncate / Set to Null

Padrão

Do Not Process

O MaxCompute impõe um comprimento máximo de campo de 8 MB. Este parâmetro define como a tarefa lida com campos que excedem esse limite.

Do Not Process A tarefa grava o campo como está. Se o campo exceder o limite de 8 MB do MaxCompute e você não tiver modificado o limite padrão de 8 MB, a tarefa falhará.

Truncate O campo é truncado para 8 MB antes da gravação.

Set to Null O conteúdo do campo é descartado e um valor NULL é gravado em seu lugar.

Tamanho do cache de sessão da tarefa em tempo real (bytes)

Atributo

Valor

Valores

Inteiro positivo

Padrão

67108864 (64 MB)

Aplica-se à gravação em tabelas Delta do MaxCompute. Uma sessão é criada para cada partição de destino (ou uma única sessão global para tabelas não particionadas). Cada sessão contém vários buckets. A tarefa armazena dados em cache por bucket e, quando o total de dados em cache em todos os buckets de uma sessão excede este valor, uma confirmação em lote é acionada para o servidor MaxCompute.

Nota

Este parâmetro controla o equilíbrio entre uso de memória e frequência de gravação. Se a tarefa falhar com um erro OOM, diminua este valor para reduzir a pressão máxima sobre a memória.

Tamanho do cache de bucket da tarefa em tempo real (bytes)

Atributo

Valor

Valores

Inteiro positivo

Padrão

1048576 (1 MB)

Aplica-se à gravação em tabelas Delta do MaxCompute. Cada sessão é dividida em vários buckets. A tarefa aloca um cache independente por bucket. Quando os dados em cache de um único bucket excedem este valor, esse bucket é confirmado no servidor MaxCompute.

Nota

O valor padrão é recomendado para a maioria das cargas de trabalho. Ajuste-o apenas se tiver requisitos específicos de memória ou frequência de gravação.

Limiar de gravação dinâmica em disco

Atributo

Valor

Valores

Inteiro positivo

Padrão

Nenhum (desativado)

Aplica-se à gravação em tabelas Delta do MaxCompute. Quando o número de partições de destino com dados pendentes excede este limiar, os caches de bucket são descarregados da memória para o disco a fim de reduzir a pressão sobre a memória.

A ativação deste recurso degrada o desempenho da sincronização. Utilize-o apenas quando a tarefa precisar gravar em um número muito grande de partições e estiver sofrendo pressão excessiva de memória.

Concorrência de flush por tabela única

Atributo

Valor

Valores

Inteiro positivo

Padrão

2

Aplica-se à gravação em tabelas Delta do MaxCompute. Controla quantos buckets de uma única sessão podem executar flush para o servidor MaxCompute simultaneamente. O valor padrão é adequado para a maioria das cargas de trabalho.

Estratégia de particionamento de dados

Atributo

Valor

Valores

Primary key value / Table partition field value

Padrão

Primary key value

Aplica-se à gravação em tabelas Delta do MaxCompute com concorrência de gravação maior que 1. Esta estratégia determina como os registros de source são distribuídos entre as instâncias de gravação paralelas.

Primary key value Registros com a mesma chave primária são sempre roteados para a mesma instância de gravação.

  • Vantagem: As chaves primárias geralmente são distribuídas uniformemente, o que previne desbalanceamento de dados e garante uma carga de gravação equilibrada.

  • Desvantagem: Cada writer mantém um cache independente para cada partição de destino, aumentando significativamente o consumo de memória. Estime a memória com: Memory ≈ Concurrency × Partitions × Cache overhead. Isso pode causar erros OOM com grandes quantidades de partições.

Table partition field value Registros pertencentes à mesma partição de destino são processados pela mesma instância de gravação.

  • Vantagem: As instâncias de gravação compartilham o cache de uma determinada partição, reduzindo significativamente o uso geral de memória.

  • Desvantagem: Se os dados forem distribuídos de forma desigual entre as partições (por exemplo, devido a uma partição quente), algumas instâncias de gravação ficam sobrecarregadas enquanto outras permanecem ociosas.

Orientação de configuração:

  1. Comece com Primary key value para obter desempenho ideal e balanceamento de carga. Se a tarefa falhar com um erro OOM devido ao tamanho excessivo do cache, mude para Table partition field value a fim de reduzir a pressão sobre a memória.

  2. Antes de trocar de estratégia, avalie a distribuição dos seus dados entre as partições para evitar a introdução de um novo gargalo de desempenho.