Com a CLI do Dataform de código aberto, é possível inicializar, compilar, testar, e executar o Dataform Core localmente, fora do Google Cloud.
A CLI do Dataform oferece suporte ao Application Default Credentials (ADC). Com o ADC, é possível disponibilizar credenciais para seu aplicativo em uma variedade de ambientes, como desenvolvimento ou produção local, sem precisar modificar o código do aplicativo. Para usar o ADC, primeiro é necessário fornecer suas credenciais a ele.
Antes de começar
Antes de instalar a CLI do Dataform, instale NPM.
Instalar a CLI do Dataform
Para instalar a CLI do Dataform, execute o seguinte comando:
npm i -g @dataform/cli
Inicializar um projeto do Dataform
Para inicializar um novo projeto do Dataform, execute o seguinte comando no diretório do projeto:
dataform init . YOUR_GOOGLE_CLOUD_PROJECT_ID DEFAULT_LOCATIONSubstitua:
YOUR_GOOGLE_CLOUD_PROJECT_ID: o Google Cloud ID do projeto.DEFAULT_LOCATION: o local do BigQuery em que você quer que o Dataform processe e armazene dados.
Atualizar o Dataform Core
Para atualizar o framework do Dataform Core, atualize
dataformCoreVersionno arquivoworkflow_settings.yaml. QuandodataformCoreVersioné definido emworkflow_settings.yaml, o Dataform instala@dataform/coreautomaticamente no ambiente de execução. Se o projeto gerenciar@dataform/coreem um arquivopackage.jsonsemdataformCoreVersionemworkflow_settings.yaml, atualize a versão empackage.jsone execute:dataform install
Atualizar a CLI do Dataform
Para atualizar a ferramenta da CLI do Dataform, execute o seguinte comando:
npm i -g @dataform/cli@^3.0.50
Criar um arquivo de credenciais
O Dataform exige um arquivo de credenciais para se conectar a serviços remotos e criar o arquivo .df-credentials.json no disco.
Para criar o arquivo de credenciais, siga estas etapas:
Execute este comando:
dataform init-credsSiga o assistente
init-credsque orienta você na criação do arquivo de credenciais.
Criar um projeto
Um projeto do Dataform vazio no Dataform Core 3.0.0 ou mais recente tem a seguinte estrutura:
project-dir
├── definitions
├── includes
└── workflow_settings.yaml
Para criar um projeto do Dataform para implantar recursos no BigQuery, execute o seguinte comando:
dataform init PROJECT_NAME --default-database YOUR_GOOGLE_CLOUD_PROJECT_ID --default-location DEFAULT_LOCATIONSubstitua:
PROJECT_NAME: o nome do diretório do projeto.YOUR_GOOGLE_CLOUD_PROJECT_ID: o Google Cloud ID do projeto.DEFAULT_LOCATION: o local do BigQuery em que você quer que o Dataform processe e armazene dados.
Clonar um projeto
Para clonar um projeto do Dataform de um repositório Git de terceiros, siga as instruções do provedor Git.
Se o projeto clonado declarar dependências externas em um arquivo
package.json(semdataformCoreVersionemworkflow_settings.yaml), execute o seguinte comando no diretório do repositório clonado:dataform install
Definir uma tabela
Armazene as definições na pasta definitions/.
Para definir uma tabela, execute o seguinte comando:
echo "config { type: 'TABLE_TYPE' } SELECT_STATEMENT" > definitions/FILE.sqlxSubstitua:
TABLE_TYPE: o tipo da tabela:table,incrementalouview.SELECT_STATEMENT: uma instruçãoSELECTque define a tabela.FILE: o nome do arquivo de definição da tabela.
O exemplo de código a seguir define uma visualização no arquivo SQLX example.
echo "config { type: 'view' } SELECT 1 AS test" > definitions/example.sqlx
Definir uma declaração manual
Armazene as definições na pasta definitions/.
Para definir uma declaração manual, execute o seguinte comando:
echo "config { type: 'assertion' } SELECT_STATEMENT" > definitions/FILE.sqlxSubstitua:
SELECT_STATEMENT: uma instruçãoSELECTque define a declaração.FILE: o nome do arquivo de definição da operação SQL personalizada.
Definir uma operação SQL personalizada
Armazene as definições na pasta definitions/.
Para definir uma operação SQL personalizada, execute o seguinte comando:
echo "config { type: 'operations' } SQL_QUERY" > definitions/FILE.sqlxSubstitua:
SQL_QUERY: sua operação SQL personalizada.FILE: o nome do arquivo de definição da operação SQL personalizada.
Conferir a saída da compilação
O Dataform compila seu código em tempo real.
Para conferir a saída do processo de compilação no terminal, execute o seguinte comando:
dataform compilePara conferir a saída do processo de compilação como um objeto JSON, execute o seguinte comando:
dataform compile --jsonPara conferir a saída da compilação com variáveis de compilação personalizadas, execute o seguinte comando:
dataform compile --vars=SAMPLE_VAR=SAMPLE_VALUE,foo=barSubstitua:
SAMPLE_VAR: sua variável de compilação personalizada.SAMPLE_VALUE: o valor da variável de compilação personalizada.
Gerar código
Para executar o código, o Dataform acessa o BigQuery para determinar o estado atual e adaptar o SQL resultante de acordo.
Para executar o código do projeto do Dataform, execute o seguinte comando:
dataform runPara executar o código do projeto do Dataform no BigQuery com variáveis de compilação personalizadas, execute o seguinte comando:
dataform run --vars=SAMPLE_VAR=SAMPLE_VALUE,sampleVar2=sampleValue2Substitua:
SAMPLE_VAR: sua variável de compilação personalizada.SAMPLE_VALUE: o valor da variável de compilação personalizada.
Para executar o código do projeto do Dataform no BigQuery e recriar tabelas incrementais (a menos que marcadas como
protected) do zero, execute o seguinte comando:dataform run --full-refresh
Sem --full-refresh, o Dataform atualiza tabelas incrementais sem recriá-las do zero (tabelas e visualizações normais são sempre recriadas).
Para executar uma simulação do código no BigQuery, execute o seguinte comando:
dataform run --dry-run
Precisa de ajuda?
Para listar todos os comandos e opções disponíveis, execute o seguinte comando:
dataform helpPara conferir uma descrição de um comando específico, execute o seguinte comando:
dataform help COMMANDSubstitua
COMMANDpelo comando sobre o qual você quer saber mais.
A seguir
- Para saber mais sobre os comandos e flags da CLI do Dataform, consulte a referência da CLI do Dataform e a referência da CLI do Dataform no GitHub.
- Para saber mais sobre o Dataform, consulte a visão geral do Dataform.