Os parâmetros de agendamento atuam como valores dinâmicos nas configurações de nós de sincronização de dados. Eles substituem datas estáticas, nomes de tabelas ou valores de campos por valores calculados em tempo de execução, com base no timestamp de dados do nó. Este tópico aborda quatro cenários comuns: sincronização de dados incrementais, tratamento de nomes dinâmicos de tabelas ou arquivos, definição de campos de destino e backfill de dados históricos.
Antes de começar
Antes de clicar em Execute ou Run with Parameters na barra de ferramentas superior da aba de configuração de um nó de sincronização em lote, atribua manualmente constantes às variáveis referenciadas no código do nó. O Data Integration não oferece suporte a testes de fumaça (smoke testing) em nós de sincronização em lote no ambiente de desenvolvimento.
Para verifique se os parâmetros de agendamento foram substituídos conforme o esperado, utilize um dos métodos a seguir:
Execute um teste de fumaça em um nó SQL que utilize os mesmos parâmetros de agendamento. Se o nó SQL for aprovado, os parâmetros estarão configurados corretamente. Para mais detalhes, consulte Configurar e usar parâmetros de agendamento.
Submeta o nó ao Operation Center no ambiente de desenvolvimento.
Visão geral dos cenários
|
Cenário |
Plug-ins de Reader compatíveis (exemplos) |
Detalhes |
|
Sincronizar dados incrementais |
MySQL Reader, LogHub Reader, Kafka Reader |
|
|
Sincronizar dados de tabelas ou arquivos com nomes dinâmicos |
Object Storage Service (OSS) Reader, FTP Reader, MySQL Reader |
|
|
Atribuir um valor constante ou baseado em tempo a um campo de destino |
Varia conforme a fonte de dados |
Cenário 1: Sincronizar dados incrementais
Os parâmetros de agendamento em uma condição de filtro atuam como limites temporais dinâmicos. Em tempo de execução, cada expressão é substituída pela data real derivada do timestamp de dados do nó. Isso garante que cada execução leia apenas os dados gerados dentro da janela de tempo alvo, evitando recarregamentos completos. Certifique-se de que a sintaxe da condição de filtro seja compatível com a source.
Para mais informações, consulte Cenário: Configurar uma tarefa de sincronização de dados offline incremental.
O intervalo de tempo usado nas condições de filtro é fechado à esquerda e aberto à direita.
Exemplo 1: Sincronizar dados do LogHub a cada 10 minutos para uma partição T-1 do MaxCompute
O nó gera uma instância de agendamento a cada 10 minutos. $bizdate especifica o timestamp de dados do nó de sincronização, e as expressões de filtro de partição resolvem os limites correspondentes da janela de 10 minutos em tempo de execução.

Exemplo 2: Sincronizar dados do LogHub do dia anterior para uma partição T-1 do MaxCompute diariamente às 00:00
A condição de filtro usa $bizdate para capturar todos os dados gerados no dia anterior. O intervalo de tempo é fechado à esquerda e aberto à direita.

Cenário 2: Sincronizar dados de tabelas ou arquivos com nomes dinâmicos
Incorpore parâmetros de agendamento diretamente no nome da tabela de origem ou no caminho do arquivo para que o nó leia automaticamente da tabela ou do arquivo correto em cada execução.
Alguns plug-ins de Reader exigem o uso do editor de código para configure parâmetros de agendamento para nomes dinâmicos. Quando variáveis são usadas na configuração, a visualização prévia de dados não é compatível.
Exemplo 1: Sincronizar arquivos do OSS com nomes baseados em data para o MaxCompute
Configure o caminho do objeto de origem com um parâmetro de agendamento para que o nó leia da pasta datada correta todos os dias e grave os dados na partição correspondente no MaxCompute.

Exemplo 2: Sincronizar tabelas do MySQL com nomes baseados em data para o MaxCompute
Defina o nome da tabela de origem com um parâmetro de agendamento para que o nó leia da tabela datada correta todos os dias. As figuras a seguir mostram a configuração tanto no editor de código quanto na interface sem código.


Cenário 3: Definir campos de destino
Ao configurar mapeamentos de campos, atribua uma constante derivada do timestamp de dados do nó a um campo de destino. O sistema atualiza esse campo automaticamente em cada execução com base no valor do parâmetro de agendamento. A compatibilidade varia conforme o tipo de fonte de dados.
Por exemplo, a configuração a seguir atribui o timestamp de dados a um campo ds na tabela de destino, que é atualizado diariamente.

Cenário 4: Sincronizar dados históricos
Os parâmetros de agendamento são substituídos automaticamente por valores específicos com base nos timestamps de dados dos nós e nos formatos de valor dos parâmetros. Isso permite a configuração dinâmica de parâmetros para o agendamento de nós. Em uma execução de backfill de dados, cada parâmetro é substituído usando o timestamp de dados especificado pela operação de backfill.
Utilize o recurso de backfill de dados no Operation Center para gerar dados referentes a um intervalo de tempo histórico específico. Para mais detalhes, consulte O&M de instância de backfill de dados.
Exemplo: Backfill de dados incrementais do MySQL para tabelas do MaxCompute particionadas por tempo
A figura a seguir ilustra como gravar dados incrementais de uma source MySQL em uma partição de tempo específica no MaxCompute usando backfill de dados.
