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

Neste documento, descrevemos 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, o que significa que o mesmo código é compilado sempre no mesmo resultado de compilação SQL. O Dataform compila seu código em um ambiente de sandbox sem acesso à Internet. Nenhuma outra ação, 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 personalizar o ciclo de vida do código do Dataform de acordo com suas necessidades, configure o resultado da compilação para influenciar onde e como o Dataform executa seu fluxo de trabalho SQL. Em seguida, é possível acionar ou programar execuções manualmente 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. Você pode substituir as configurações padrão por substituições de compilação para criar resultados de compilação personalizados. Em seguida, é possível acionar manualmente a execução de um resultado de compilação personalizado ou programar execuções.

O Dataform oferece as seguintes opções para configurar os resultados da 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 de versão
Você pode criar configurações de versão para configurar modelos e criar resultados de compilação de um repositório do Dataform. Em seguida, é possível criar 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
Você pode transmitir solicitações da API Dataform no terminal para criar e executar um único resultado de compilação com substituições.

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, 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:

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

É possível usar as 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âmica. 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 versão, é possível definir substituições de compilação das configurações do fluxo de trabalho, variáveis de compilação e frequência de criação de resultados de compilação de todo o repositório.

Em uma configuração de lançamento, é possível definir as seguintes substituições de compilação:

É possível criar várias configurações de versão em um repositório do Dataform, uma para cada estágio do ciclo de vida de desenvolvimento, gerando resultados isolados da compilação do repositório.

Em seguida, é possível criar configurações de fluxo de trabalho para programar execuções de resultados de compilação criados em uma configuração de versão selecionada.

Você também pode 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 as 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, você pode criar um único resultado de compilação de um espaço de trabalho do Dataform ou um comando Git especificado.

No objeto CodeCompilationConfig da solicitação compilationResults.create, você pode configurar substituições de compilação para a solicitação.

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

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

Você pode 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 para configurar a 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 de 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 do fluxo de trabalho SQL a serem executadas 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 de forma instantânea manualmente o fluxo de trabalho SQL no seu espaço de trabalho, fora de qualquer programação.

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

Se o repositório tiver substituições de compilação do espaço de trabalho, você poderá ver 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 versão 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 aplicada da versão de compilação
  • Seleção de ações do fluxo de trabalho SQL a serem executadas
  • Programação e fuso horário das execuções

É possível selecionar as seguintes ações do fluxo de trabalho SQL para execução:

  • 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 aplicado 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.

Expiração dos recursos do ciclo de vida

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

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

As invocações do fluxo de trabalho expiram após 90 dias ou quando você as exclui manualmente.

Em uma configuração de fluxo de trabalho, é possível consultar uma lista das invocações 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.

Expiração dos resultados da compilação

A expiração dos resultados da compilação depende da maneira como eles são criados: em um espaço de trabalho de desenvolvimento, em uma configuração de versão 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 consultas. Os resultados de compilação criados dessa forma expiram após 24 horas.

Em uma configuração de versão, 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 atual da compilação em tempo real. O Dataform manté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 versão.

O Dataform retém os resultados de compilação criados por invocações do fluxo de trabalho durante toda a vida útil da invocação do fluxo de trabalho, até 24 horas após a expiração ou a exclusão dela.

A seguir