Introdução ao ciclo de vida do código no Dataform

Este documento descreve o ciclo de vida do código no Dataform e maneiras de configurar a compilação e a execução no Dataform.

Sobre o ciclo de vida do código no Dataform

O ciclo de vida do código do Dataform consiste nas seguintes fases:

Desenvolvimento
Você desenvolve um fluxo de trabalho SQL em um espaço de trabalho do Dataform.
Compilação

O Dataform compila o código do fluxo de trabalho SQL no seu espaço de trabalho para SQL em tempo real, criando um resultado de compilação do espaço de trabalho que pode ser executado no BigQuery. O Dataform usa as configurações que você definiu no arquivo de configurações do fluxo de trabalho para criar o resultado da compilação.

A compilação do Dataform é hermética para garantir a consistência da compilação, o que significa que o mesmo código é compilado para o mesmo resultado de compilação SQL sempre. O Dataform compila seu código em um ambiente de sandbox sem acesso à Internet. Nenhuma ação adicional, como chamar APIs externas, está disponível durante a compilação.

Execução

Em uma invocação de fluxo de trabalho, o Dataform executa o resultado da compilação do espaço de trabalho no BigQuery.

Para adaptar o ciclo de vida do código do Dataform às suas necessidades, configure o resultado da compilação para influenciar onde e como o Dataform executa seu fluxo de trabalho SQL. Em seguida, você pode acionar ou programar manualmente as execuções para influenciar quando o Dataform executa todo o fluxo de trabalho SQL ou os elementos selecionados.

Formas de configurar a compilação do Dataform

Por padrão, o Dataform usa as configurações no arquivo de configurações do fluxo de trabalho para criar resultados de compilação. É possível substituir as configurações padrão com substituições de compilação para criar resultados personalizados. Em seguida, ative manualmente a execução de um resultado de compilação personalizado ou programe as execuções.

O Dataform oferece as seguintes opções de configuração de resultados de compilação:

Substituições de compilação do espaço de trabalho
É possível configurar substituições de compilação que se aplicam a todos os espaços de trabalho em um repositório. É possível usar substituições de compilação do espaço de trabalho para criar ambientes de desenvolvimento isolados.
Configurações da versão
É possível criar configurações de lançamento para configurar modelos para criar resultados de compilação de um repositório do Dataform. Em seguida, crie uma configuração de fluxo de trabalho para programar execuções de resultados de compilação criados em uma configuração de versão selecionada.
Substituições de compilação da API Dataform
É possível transmitir solicitações da API Dataform no terminal para criar e executar um único resultado de compilação com substituições de compilação.

Configurar substituições de compilação do espaço de trabalho

Com as substituições de compilação do espaço de trabalho, é possível criar substituições de compilação para todos os espaços de trabalho em um repositório do Dataform. É possível criar uma configuração de substituições de compilação do espaço de trabalho por repositório.

Quando você aciona manualmente a execução em um espaço de trabalho em um repositório com substituições de compilação do espaço de trabalho, o Dataform aplica essas substituições ao resultado da compilação do espaço de trabalho.

É possível configurar as seguintes substituições de compilação do espaço de trabalho:

  • ProjetoGoogle Cloud em que o Dataform executa o conteúdo do espaço de trabalho
  • Prefixo da tabela
  • Sufixo do esquema

É possível usar substituições de compilação do espaço de trabalho para criar ambientes de desenvolvimento isolados isolando os resultados de compilação do espaço de trabalho no BigQuery com substituições de compilação dinâmicas. As substituições de compilação de prefixo de tabela dinâmica e sufixo de esquema contêm a variável ${workspaceName}. Quando você aciona a execução em um espaço de trabalho, o Dataform substitui a variável ${workspaceName} pelo nome do espaço de trabalho atual, criando substituições de compilação exclusivas para o espaço de trabalho.

Não é possível programar execuções de resultados de compilação criados com substituições de compilação do espaço de trabalho.

Criar configurações de versão

Com as configurações de versão, é possível definir modelos de configurações para criar resultados de compilação de repositórios.

Em uma configuração de lançamento, é possível configurar substituições de compilação de configurações de fluxo de trabalho, variáveis de compilação e a frequência de criação de resultados de compilação de todo o repositório.

Em uma configuração de versão, é possível configurar as seguintes substituições de compilação:

É possível criar várias configurações de lançamento em um repositório do Dataform, uma para cada fase do ciclo de vida de desenvolvimento, criando resultados de compilação de repositório isolados.

Em seguida, crie configurações de fluxo de trabalho para programar execuções de resultados de compilação criados em uma configuração de lançamento selecionada.

Também é possível acionar manualmente a execução de um resultado de compilação em uma configuração de versão selecionada.

Configurar um único resultado de compilação com substituições de compilação da API Dataform

Ao transmitir solicitações da API Dataform no terminal, é possível configurar substituições de compilação para um único resultado de compilação.

Na solicitação compilationResults.create, é possível criar um único resultado de compilação de um espaço de trabalho do Dataform ou de um comitish do Git especificado.

No objeto CodeCompilationConfig da solicitação compilationResults.create, é possível configurar substituições de compilação para a solicitação de compilação.

É possível configurar as seguintes substituições de compilação da API Dataform:

Lembre-se de que as substituições de compilação da API Dataform se aplicam a um único resultado de compilação e a uma única execução. Não é possível usá-los para programar execuções do Dataform.

É possível executar um resultado de compilação na solicitação workflowInvocations.create.

Formas de configurar a execução do Dataform

O Dataform oferece as seguintes opções de configuração de execução:

Execução manual em um espaço de trabalho
É possível acionar manualmente a execução instantânea de um fluxo de trabalho SQL em um espaço de trabalho do Dataform, fora de qualquer programação. É possível executar ações selecionadas no fluxo de trabalho SQL.
Configurações do fluxo de trabalho
É possível programar execuções de resultados de compilação criados em uma configuração de versão selecionada. É possível selecionar ações de fluxo de trabalho SQL para execução e definir a frequência e o fuso horário das execuções.

Acionar a execução instantânea em um espaço de trabalho

Em um espaço de trabalho do Dataform, é possível executar manualmente o fluxo de trabalho SQL no espaço de trabalho, fora de qualquer programação.

É possível executar manualmente os seguintes elementos do fluxo de trabalho SQL no seu espaço de trabalho:

Se o repositório tiver substituições de compilação do espaço de trabalho, você poderá conferir quais substituições de compilação o Dataform vai aplicar ao resultado da compilação do espaço de trabalho.

Criar configurações de fluxo de trabalho

Com as configurações de fluxo de trabalho, é possível programar execuções de resultados de compilação de uma configuração de lançamento selecionada. É possível criar várias configurações de fluxo de trabalho em um repositório do Dataform.

Em uma configuração de fluxo de trabalho, é possível definir as seguintes configurações de execução:

  • Configuração de versão de compilação aplicada
  • Seleção de ações de fluxo de trabalho SQL a serem executadas
  • Programação e fuso horário das execuções

É possível selecionar as seguintes ações de fluxo de trabalho SQL para serem executadas:

  • Todas as ações
  • Ações selecionadas
  • Ações com tags selecionadas

Em seguida, durante uma execução programada da configuração do fluxo de trabalho, o Dataform implanta a seleção de ações do resultado da compilação aplicada no BigQuery.

As configurações de versão e de fluxo de trabalho do Dataform permitem configurar a compilação e programar execuções no Dataform, sem precisar depender de outros serviços.

Recursos do ciclo de vida expirados

O Dataform armazena resultados de compilação e invocações de fluxo de trabalho por um período específico.

Expiração de invocações de fluxo de trabalho

As invocações de fluxo de trabalho expiram após 90 dias ou quando são excluídas manualmente.

Em uma configuração de fluxo de trabalho, é possível conferir uma lista das invocações de fluxo de trabalho mais recentes criadas pela configuração. Quando uma invocação de fluxo de trabalho criada por uma configuração de fluxo de trabalho expira, o Dataform remove essa invocação da lista de invocações recentes.

Validade dos resultados da compilação

A expiração dos resultados da compilação depende da forma como eles são criados: em um espaço de trabalho de desenvolvimento, em uma configuração de lançamento ou por uma invocação de fluxo de trabalho.

Quando você desenvolve um fluxo de trabalho SQL em um espaço de trabalho do Dataform, o Dataform compila seu código em um resultado de compilação em tempo real para fornecer validação de consulta. Os resultados de compilação criados dessa forma expiram após 24 horas.

Em uma configuração de lançamento, o resultado da compilação mais recente se torna o resultado da compilação em tempo real. Um novo resultado de compilação substitui o resultado de compilação atual. O Dataform retém o resultado da compilação em tempo real até que seja substituído por um novo resultado. Um resultado de compilação substituído expira em até 24 horas.

O Dataform remove os resultados de compilação expirados da lista de resultados de compilação anteriores na página Detalhes de uma configuração de lançamento.

O Dataform retém os resultados da compilação criados por invocações de fluxo de trabalho por todo o ciclo de vida da invocação, até 24 horas após a invocação do fluxo de trabalho expirar ou ser excluída.

A seguir