Este documento apresenta os conceitos e processos do Dataform.
O Dataform é um serviço para os analistas de dados desenvolverem, testarem o controle de versões e a programação de fluxos de trabalho SQL complexos para a transformação de dados no BigQuery.
Com o Dataform, é possível gerenciar a transformação de dados nas fases Processo de carregamento e transformação (ELT, na sigla em inglês) para integração de dados. Depois que os dados brutos são extraídos dos sistemas de origem e carregados no BigQuery, o Dataform ajuda você a transformá-los em um conjunto de tabelas bem definido, testado e documentado.
O Dataform permite realizar as seguintes ações de transformação de dados:
- Desenvolva e execute fluxos de trabalho SQL para transformação de dados.
- Colabore com os membros da equipe no desenvolvimento de fluxos de trabalho SQL pelo Git.
- Gerenciar um grande número de tabelas e as dependências delas.
- Declare dados de origem e gerencie dependências de tabelas.
- Confira a árvore de dependências do fluxo de trabalho SQL.
- Gerenciar dados com código SQL em um repositório central.
- Reutilizar código com JavaScript.
- Teste a exatidão dos dados com testes de qualidade em tabelas de origem e saída.
- Controle de versões do código SQL.
- Documentar tabelas de dados no código SQL.
Processos de transformação de dados no Dataform
O fluxo de trabalho de transformação de dados para o Dataform é o seguinte:
- O Dataform permite criar repositórios para gerenciar seu código.
- O Dataform permite criar espaços de trabalho para desenvolvimento.
- O Dataform permite desenvolver fluxos de trabalho SQL em um espaço de trabalho de desenvolvimento.
- O Dataform compila o núcleo do Dataform em SQL.
- O Dataform executa a árvore de dependências.
O Dataform permite criar repositórios para gerenciar seu código
Em um repositório do Dataform, você usa o núcleo do Dataform, uma extensão do SQL, para gravar arquivos SQLX em que define seu fluxo de trabalho. Os repositórios do Dataform oferecem suporte ao controle de versões. É possível vincular um repositório do Dataform a um provedor Git de terceiros.
O Dataform permite criar espaços de trabalho para desenvolvimento
É possível criar espaços de trabalho de desenvolvimento em um repositório do Dataform para desenvolvimento do núcleo do Dataform. Em um espaço de trabalho de desenvolvimento, é possível fazer alterações no repositório, fazer a compilação, testar e enviar para o repositório principal usando o Git.
O Dataform permite desenvolver o núcleo do Dataform em um espaço de trabalho de desenvolvimento
Em um espaço de trabalho de desenvolvimento, é possível definir e documentar tabelas, as dependências delas e a lógica de transformação para criar seu fluxo de trabalho SQL. Também é possível configurar ações em JavaScript.
O Dataform compila o núcleo do Dataform
Durante a compilação, o Dataform realiza as seguintes tarefas:
- Compila o Dataform Core em um fluxo de trabalho do SQL padrão.
- Adiciona instruções SQL padrão, como
CREATE TABLE
ouINSERT
, ao código inline com a configuração da consulta. - Transcompila (compila JavaScript da fonte para a origem) em SQL.
- Resolve dependências e verifica erros, incluindo dependências ausentes ou circulares.
- Cria a árvore de dependências de todas as ações a serem executadas no BigQuery.
A compilação do Dataform é hermética para garantir a consistência da compilação, 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 sandbox sem acesso à Internet. Nenhuma outra ação, como chamar APIs externas, estão disponíveis durante a compilação.
Para depurar em tempo real, é possível inspecionar o fluxo de trabalho SQL compilado do seu projeto em um gráfico interativo no espaço de trabalho de desenvolvimento.
O Dataform executa a árvore de dependências
No BigQuery, o Dataform realiza as seguintes tarefas:
- Executa comandos SQL, seguindo a ordem da árvore de dependências.
- Executa consultas de declaração em suas tabelas e visualizações para verificar a exatidão dos dados.
- Executa outras operações SQL definidas.
Após a execução, você pode usar suas tabelas e visualizações para todos os fins de análise.
É possível acessar os registros para conferir quais tabelas foram criadas, se as declarações foram aprovadas ou reprovadas, quanto tempo cada ação levou para ser concluída e outras informações. Também é possível conferir o código SQL exato que foi executado no BigQuery.
Modelo de modelagem do Dataform
O Dataform oferece um framework de modelagem de dados de código aberto, que consiste do Dataform Core e CLI do Dataform, para uso fora do Google Cloud.
Limitações
O Dataform tem as seguintes limitações conhecidas:
O Dataform no Google Cloud é executado em um ambiente de execução V8 simples e não oferece suporte a outros recursos e módulos fornecidos pelo Node.js. Se as A base de código atual requer módulos Node.js, será preciso remover essas dependências.
Os projetos sem um campo de nome em
package.json
geram diferenças empackage-lock.json
sempre que os pacotes são instalados. Para evitar esse resultado, você precisa adicionar uma propriedadename
empackage.json
.Não há suporte para URLs
git
+https://
para dependências empackage.json
.Converta esses URLs em URLs de arquivo
https://
simples. Por exemplo, convertagit+https://github.com/dataform-co/dataform-segment.git#1.5
parahttps://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz
.A execução manual de testes de unidade não está disponível.
A pesquisa de conteúdo de arquivos nos espaços de trabalho de desenvolvimento não está disponível.
A partir do núcleo do Dataform
3.0.0.
, o Dataform não distribui uma imagem do Docker. Você pode criar sua própria imagem Docker do Dataform, que pode ser usada para executar o equivalente aos comandos da CLI do Dataform. Para criar sua própria imagem do Docker, consulte Colocar um aplicativo em contêiner na documentação do Docker.
A seguir
- Para saber mais sobre os recursos do Dataform, consulte Visão geral dos recursos do Dataform.
- Para saber mais sobre o Dataform Core, acesse Visão geral do Dataform Core.
- Para saber mais sobre a CLI do Dataform, consulte Usar a CLI do Dataform.