Visão geral dos recursos do Dataform

O Dataform é um serviço sem servidor para analistas de dados desenvolverem e implantarem tabelas, tabelas incrementais ou visualizações no BigQuery. O Dataform oferece um ambiente da Web para desenvolvimento de fluxos de trabalho SQL, conexão com o GitHub, GitLab, Serviços de DevOps do Azure e Bitbucket, integração contínua, implantação contínua e execução de fluxo de trabalho.

Repositórios

Cada projeto do Dataform é armazenado em um repositório. Um repositório do Dataform abriga uma coleção de arquivos de configuração JSON, SQLX e JavaScript.

Os repositórios do Dataform contêm os seguintes tipos de arquivos:

  • Arquivos de configuração

    Os arquivos de configuração JSON ou SQLX permitem que você configure seus fluxos de trabalho SQL. Eles contêm configuração geral, programações de execução ou esquema para criar novas tabelas e visualizações.

  • Definições

    As definições são arquivos SQLX e JavaScript que definem novas tabelas, visualizações e outras operações SQL para execução no BigQuery.

  • Inclui

    As inclusões são arquivos JavaScript em que você define variáveis e funções para usar no projeto.

Cada repositório do Dataform está conectado a uma conta de serviço. É possível selecionar uma conta de serviço ao criar um repositório ou editar a conta de serviço mais tarde.

Por padrão, o Dataform usa uma conta de serviço derivada do número do projeto no seguinte formato:

service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Controle de versões

O Dataform usa o sistema de controle de versões Git para manter um registro de cada alteração feita nos arquivos do projeto e gerenciar as versões dos arquivos.

Cada repositório do Dataform pode gerenciar o próprio repositório Git ou estar conectado a um repositório Git remoto de terceiros. É possível conectar um repositório do Dataform a um repositório do GitHub, do GitLab, do Azure DevOps Services ou do Bitbucket.

Os usuários têm controle de versões do código de fluxo de trabalho SQL dentro de espaços de trabalho do Dataform. Em um espaço de trabalho do Dataform, é possível extrair alterações do repositório, confirmar todas ou alterações selecionadas e enviá-las para ramificações Git do repositório.

Desenvolvimento de fluxo de trabalho

No Dataform, você faz alterações nos arquivos e diretórios dentro de um espaço de trabalho de desenvolvimento. Um espaço de trabalho de desenvolvimento é uma cópia virtual e editável do conteúdo de um repositório Git. O Dataform preserva o estado dos arquivos no espaço de trabalho de desenvolvimento entre as sessões.

Em um espaço de trabalho de desenvolvimento, é possível desenvolver ações de fluxo de trabalho SQL usando o Dataform Core com SQLX e JavaScript ou exclusivamente com JavaScript. É possível formatar automaticamente o código principal ou JavaScript do Dataform.

Cada elemento de um fluxo de trabalho do Dataform SQL, como uma tabela ou declaração, corresponde a uma ação que o Dataform executa no BigQuery. Por exemplo, um arquivo de definição de tabela é uma ação de criar ou atualizar a tabela no BigQuery.

Em um espaço de trabalho do Dataform, é possível desenvolver as seguintes ações de fluxo de trabalho SQL:

É possível usar o JavaScript para reutilizar o código do fluxo de trabalho do Dataform SQL das seguintes maneiras:

O Dataform compila o código do fluxo de trabalho SQL no seu espaço de trabalho em tempo real. No espaço de trabalho, é possível visualizar as consultas compiladas e os detalhes das ações em cada arquivo. Também é possível ver o status e os erros da compilação no arquivo editado ou no repositório.

Para testar o resultado de uma consulta SQL compilada antes de executá-la no BigQuery, execute uma visualização da consulta no espaço de trabalho do Dataform.

Para inspecionar todo o fluxo de trabalho SQL definido no espaço de trabalho, confira um gráfico compilado interativo que mostra todas as ações compiladas no fluxo de trabalho SQL e as relações entre elas.

Compilação de fluxo de trabalho

O Dataform usa as configurações de compilação padrão, configuradas em dataform.json, para compilar o código do fluxo de trabalho SQL no espaço de trabalho para SQL em tempo real, criando um resultado da compilação do espaço de trabalho.

É possível substituir as configurações de compilação para personalizar a forma como o Dataform compila o fluxo de trabalho SQL em um resultado da compilação.

Com as substituições de compilação do espaço de trabalho, é possível configurá-las para todos os espaços de trabalho em um repositório. É possível definir substituições dinâmicas de espaços de trabalho para criar resultados de compilação personalizados para cada espaço de trabalho, transformando eles em ambientes de desenvolvimento isolados. É possível substituir o projeto do Google Cloud em que o Dataform vai executar o conteúdo de um espaço de trabalho, adicionar um prefixo aos nomes de todas as tabelas compiladas e adicionar um sufixo ao esquema padrão.

Com as configurações de versão, é possível definir modelos de configurações de compilação para criar resultados de compilação de um repositório do Dataform. Em uma configuração de versão, é possível substituir o projeto do Google Cloud em que o Dataform vai executar os resultados de compilação, adicionar um prefixo aos nomes de todas as tabelas compiladas, adicionar um sufixo ao esquema padrão e incluir variáveis de compilação. Você também pode definir a frequência de criação dos resultados de compilação. Para programar execuções de resultados de compilação criados em uma configuração de versão selecionada, é possível criar uma configuração de fluxo de trabalho.

Execução do fluxo de trabalho

Durante a execução do fluxo de trabalho, o Dataform executa resultados de compilação de fluxos de trabalho SQL para criar ou atualizar recursos no BigQuery.

Para criar ou atualizar as tabelas e visualizações definidas no fluxo de trabalho SQL no BigQuery, inicie a execução de um fluxo de trabalho manualmente em um espaço de trabalho de desenvolvimento ou programe execuções.

É possível programar execuções do Dataform no BigQuery das seguintes maneiras:

Para depurar erros, é possível monitorar as execuções das seguintes maneiras:

A seguir