Esse projeto é um exemplo de como utilizar o dbt para transformar dados.
Possui um modelo de dados simples e complexos, com exemplos de como utilizar o dbt para transformar dados.
- Crie uma venv:
python3 -m venv .venv- Ative a venv:
source .venv/bin/activate- Instale as dependências do projeto:
pip install -r requirements.txtVamos usar o dbt com o BigQuery, então é necessário configurar o dbt para usar o BigQuery.
-
Mude o arquivo
profiles.ymlpara adicionar as credenciais do BigQuery. -
Configure o dbt_project.yml ao seu gosto.
-
Rode o comando para certificar que o dbt está configurado corretamente:
dbt debug- Rode os seeds para criar as tabelas de exemplo:
dbt seed-
Use os modelos de exemplo ou criem os seus próprios.
-
Rode o comando para rodar os modelos:
dbt run -s <modelo>Aqui está uma lista organizada de comandos DBT Core, começando pelos mais básicos e avançando para comandos mais complexos e úteis no dia a dia de um projeto:
-
dbt initInicializa um novo projeto DBT.dbt init nome_do_projeto
-
dbt runExecuta os modelos configurados no projeto.dbt run
-
dbt testRoda os testes configurados no projeto.dbt test -
dbt compileCompila os modelos DBT em arquivos SQL no diretóriotarget.dbt compile
-
dbt debugVerifica se o projeto está corretamente configurado.dbt debug
-
dbt cleanRemove o diretóriotargete outros arquivos gerados automaticamente.dbt clean
-
dbt listLista os recursos do projeto, como modelos, testes e snapshots.dbt list
-
dbt seedCarrega arquivos CSV na base de dados como tabelas.dbt seed
-
dbt depsBaixa pacotes DBT listados no arquivopackages.yml.dbt deps
-
dbt snapshotExecuta as definições de snapshot para criar tabelas versionadas.dbt snapshot
-
dbt buildCombinação derun,test, esnapshotem uma única execução.dbt build
-
dbt source freshnessVerifica a "frescura" das tabelas fontes definidas no projeto.dbt source freshness -
dbt run-operationExecuta macros específicas diretamente da linha de comando.dbt run-operation nome_da_macro
-
dbt docs generateGera a documentação do projeto, incluindo lineage.dbt docs generate
-
dbt docs serveAbre a documentação gerada em um servidor local.dbt docs serve
-
dbt test --dataExecuta apenas os testes de dados.dbt test --data -
dbt test --schemaExecuta apenas os testes de esquema.dbt test --schema -
dbt compile --selectCompila apenas modelos selecionados.dbt compile --select nome_do_modelo
-
dbt run --full-refreshForça a atualização completa de tabelas incrementais.dbt run --full-refresh
-
dbt run --selectExecuta modelos específicos.dbt run --select nome_do_modelo
-
dbt run --excludeExecuta todos os modelos, exceto os excluídos.dbt run --exclude nome_do_modelo
-
dbt test --selectExecuta testes apenas para modelos específicos.dbt test --select nome_do_modelo -
dbt build --selectConstrói um conjunto específico de modelos.dbt build --select tag:minha_tag
-
dbt run-operation --argsPassa argumentos para uma macro.dbt run-operation nome_da_macro --args '{"chave": "valor"}'
-
dbt debug --config-dirVerifica o diretório de configuração DBT.dbt debug --config-dir
-
dbt debug --profiles-dirVerifica o diretório de perfis do DBT.dbt debug --profiles-dir ~/.dbt -
dbt list --selectLista apenas os modelos selecionados.dbt list --select tag:minha_tag
-
dbt compile --stateCompara o estado atual com o estado de execução anterior.dbt compile --state target/
Com esses comandos, você pode começar com o básico, explorar funcionalidades intermediárias e implementar automações avançadas no seu projeto. Para mais detalhes, consulte a documentação oficial do DBT.
Use ao seu gosto, os exemplos tem vários modelos de dados para vocês se basearem.