Todos os produtos
Search
Central de documentação

DataWorks:Perguntas frequentes sobre backfill de dados

Última atualização: Jun 27, 2026

Este tópico responde às perguntas mais frequentes sobre backfill de dados.

Nota

Recomendamos ler primeiro o guia do usuário Gerenciar instâncias de backfill de dados.

Como funciona o backfill de dados

Use o recurso de backfill de dados para processar informações de um intervalo de tempo passado ou futuro. O sistema substitui automaticamente os parâmetros de agendamento do nó pelos valores correspondentes ao data timestamp selecionado. O exemplo a seguir demonstra como gravar dados incrementais de um banco de dados MySQL em uma partição baseada em tempo no MaxCompute. Em um nó de sincronização em lote, configure o parâmetro de agendamento bizdate=$bizdate em três locais: 1) Nas configurações da fonte de dados, aplique a condição de filtro STR_TO_DATE('${bizdate}','%Y%m%d') <= gmt_modify_time AND gmt_modify_time < DATE_ADD(STR_TO_DATE('${bizdate}','%Y%m%d'), interval 1 day) para filtrar os dados incrementais. 2) Nas configurações do destino de dados, defina a informação da partição como pt=${bizdate} e selecione Insert Overwrite como regra de limpeza. 3) No painel de configuração de agendamento, insira bizdate=$bizdate no campo Parameters e selecione Generate instance for the next day (T+1). Mantenha o valor ${bizdate} consistente nas três configurações para garantir que cada execução agendada sincronize apenas os dados incrementais referentes ao data timestamp correspondente.

Por que o paralelismo falha em nós horários e por minuto

  • Sintoma

    Em nós agendados por hora ou minuto, as instâncias não são executadas em paralelo mesmo com o paralelismo ativado para backfill de dados.

  • Causa

    A configuração de paralelismo do backfill de dados determina se as instâncias de um intervalo de data timestamps, com granularidade diária, são executadas simultaneamente. Ela não controla a concorrência de instâncias dentro do mesmo dia para nós horários ou por minuto. A concorrência intradiária desses nós depende da configuração de autodependência. Para mais informações, consulte Cenário 2: Configurar uma dependência no ciclo anterior.

  • Resolução

    • Com o paralelismo desativado, as instâncias de diferentes data timestamps são executadas em série. A instância do próximo data timestamp inicia somente após a conclusão da anterior.

    • Ao ativar o paralelismo, defina o número de instâncias simultâneas (por exemplo, 2, 3, 4 ou 5) para executar instâncias de backfill de dados de múltiplos data timestamps em paralelo.

    Exemplo de cenário: Suponha que seja necessário fazer backfill de uma semana de dados para um nó horário ou por minuto.

    • Se o nó tiver autodependência, as instâncias dessa semana serão executadas sequencialmente em ordem cronológica.

    • Caso o nó não tenha autodependência, todas as instâncias de cada dia serão executadas em paralelo.

Por que as instâncias entram no estado Pending (Schedule)

  • Sintoma

    Após especificar um data timestamp para backfill de dados, a instância não é executada. Ela permanece no estado Pending (Schedule) e fica destacada em amarelo.

  • Causa

    Isso ocorre quando o horário de execução agendada para o data timestamp selecionado está no futuro.

  • Resolução

    Para executar essas instâncias imediatamente, selecione a opção Run Retroactive Instances Scheduled to Run after the Current Time na caixa de diálogo Backfill Data.

    Nota
    • Se você selecionar um data timestamp correspondente a um horário futuro e não marcar esta caixa de seleção, a instância entrará no estado Pending (Schedule).

    • Ao selecionar um data timestamp correspondente a um horário futuro e marcar esta caixa de seleção, a instância será executada imediatamente.

Por que backfills recentes ficam pendentes?

  • Sintoma

    Ao fazer backfill de dados com data timestamp de ontem ou de hoje, a instância entra no estado Pending (Schedule).

  • Causa

    O agendamento da plataforma geralmente segue o modelo T+1. Isso significa que os dados com data timestamp de ontem são processados por uma execução agendada para hoje. Ao fazer backfill de dados para um data timestamp específico, você reexecuta a instância de ciclo daquela data.

    Para localizar a instância de ciclo agendada para execução hoje, filtre pelo data timestamp de ontem. Na página Cycle Instance em Operation Center > Cycle Task O&M, defina o filtro Data Timestamp como Yesterday para visualizar as instâncias de ciclo correspondentes e seus status.

Por que um backfill cria múltiplas instâncias

  • Sintoma

    O backfill de dados em um intervalo como 00:00 a 01:00 gera várias instâncias.

  • Causa

    A quantidade de instâncias geradas depende da configuração de agendamento do nó.

    • Por exemplo, se um nó horário estiver agendado para execução a cada hora das 00:00 às 23:59, o backfill de dados no intervalo de 00:00 a 01:00 gerará duas instâncias com horários de execução agendados para 00:00 e 01:00.

    • Da mesma forma, caso um nó esteja agendado para execução a cada 30 minutos, o backfill de dados no intervalo de 00:00 a 01:00 gerará três instâncias com horários de execução agendados para 00:00, 00:30 e 01:00.

Por que grandes backfills ficam pendentes por recursos

  • Sintoma

    Durante uma operação de backfill de dados em grande escala, algumas instâncias entram no estado Pending (Resources) e ficam destacadas em amarelo.

  • Causa

    Cada grupo de recursos possui um limite máximo de concorrência para execução de nós. Se o número de nós em execução simultânea ultrapassar esse limite, as novas instâncias serão enfileiradas no estado Pending (Resources).

    Nota

    Para solucionar esse problema, consulte Aguardando recursos.

Por que ocorre o erro "run time out of range"?

  • Sintoma

    Um erro pode ocorrer durante o backfill de dados, informando que o tempo de execução do nó acionado está fora do intervalo selecionado.

  • Causa

    Esse erro acontece porque o horário real de execução agendada do nó está fora do intervalo de tempo especificado. Para nós horários e por minuto, é obrigatório definir uma janela de tempo de execução para o backfill de dados. Por exemplo, na caixa de diálogo Backfill Data, se você definir Select a run time window como 00:00 ~ 01:00, mas o nó acionado estiver agendado para execução em outro horário, a operação de backfill falhará. Para resolver, ajuste a janela de tempo de execução de modo a incluir o horário agendado do nó.

Por que nenhuma instância de backfill é gerada?

  • Sintoma

    Você iniciou uma operação de backfill de dados para um nó, mas nenhuma instância de backfill foi gerada.

  • Causa

    As instâncias não são geradas se o data timestamp estiver fora do intervalo de datas efetivas do nó. Verifique se os data timestamps do backfill estão dentro desse intervalo. No painel de configuração de agendamento do nó, é possível visualizar configurações como: Time attribute definido como Normal scheduling, Rerun attribute não selecionado, Auto rerun on error não selecionado, effective date range de 1999-09-09 a 1999-10-22 (o agendamento só tem efeito dentro desse intervalo), Suspend scheduling não selecionado, scheduling cycle definido como Daily e horário agendado para 00:19. Caso o data timestamp do backfill de dados esteja fora do effective date range, nenhuma instância de backfill será gerada.

Backfill de nós semanais e mensais

  • Descrição: Ao fazer backfill de dados para nós semanais ou mensais, defina o data timestamp para o dia anterior ao horário de execução agendada. Um nó agendado para execução em um dia específico da semana ou do mês roda apenas nesse dia designado. Nos demais dias, instâncias de simulação são geradas, mas o nó não é executado de fato. O status de tal instância indica um ciclo de simulação semanal ou mensal. Para mais informações, consulte Cenário 1: Simulação para ciclo semanal/mensal.

    Nota
    • O data timestamp para o backfill é calculado da seguinte forma: data timestamp = Scheduled run date - 1 day.

    • Para mais detalhes sobre a relação entre parâmetros de agendamento, data timestamps, horários agendados e horários reais de execução, consulte Formatos suportados para parâmetros de agendamento.

  • Exemplo: Backfill de dados para um nó mensal

    Para um nó agendado para execução às 00:00 no primeiro dia de cada mês, defina o data timestamp como o último dia do mês anterior. Em um nó mensal com scheduling cycle definido como Monthly e horário de execução 00 00 00 1 * ?, defina as datas inicial e final do Data Timestamp na caixa de diálogo Backfill Data como 2022-11-30 para processar os dados de novembro de 2022 e clique em OK.

Como o limite de instâncias paralelas afeta os backfills

  • Quando a configuração de maximum parallel instances está ativada para um nó, esse limite se aplica tanto às instâncias de backfill de dados quanto às instâncias de ciclo regulares. Ambas compartilham a mesma cota de concorrência.

  • Se a concorrência de instâncias exceder o limite, o sistema limita prioritariamente as instâncias de backfill de dados históricos, ou seja, aquelas com data timestamps anteriores a hoje.

  • O limite máximo de instâncias paralelas aplica-se apenas às instâncias geradas após a ativação da configuração. Instâncias já em execução ou enfileiradas não são afetadas.

  • O valor para maximum parallel instances varia de 1 a 10.000, sendo o padrão igual a 1.