Criando um projeto dbt

Introdução ao dbt

Mike Metzger

Data Engineer

O que é um projeto dbt

  • Reúne componentes para trabalhar com dados no dbt

    • Configuração do projeto
    • Fontes e destinos de dados
    • Consultas SQL
    • Templates
    • Documentação
  • Implementado como uma estrutura de pastas

estrutura de pastas do dbt

Introdução ao dbt

Como criar um novo projeto

  • Use o comando dbt init
    • Pergunta o nome do projeto
    • Pergunta o tipo de banco/warehouse
  • Dá para resumir com dbt init <projectname>
  • Cria a pasta raiz do projeto e toda a estrutura necessária
repl:~/workspace$ dbt init
16:38:37  Running with dbt=1.8.4
Enter a name for your project (letters, digits, underscore): test_project
Which database would you like to use? [1] duckdb
Enter a number: 1
...
Introdução ao dbt

Definindo configuração com perfis do projeto

  • Um profile representa um cenário de implantação
    • Desenvolvimento
    • Homologação / Teste
    • Produção
  • Um projeto dbt pode ter vários profiles
  • Definidos no arquivo profiles.yml
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Introdução ao dbt

YAML

  • Yet Another Markup Language
  • Arquivo de texto, mas a indentação importa (como em Python)
  • Usado em muitos cenários de configuração
  • As regras podem confundir; mantenha os itens alinhados como nos exemplos
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Introdução ao dbt

DuckDB

  • Banco de dados serverless open-source
    • Parecido com sqlite
  • Feito para analytics
  • Vetorizado (ou seja, RÁPIDO)
  • Fácil de usar

logo do duckdb

Introdução ao dbt

Vamos praticar!

Introdução ao dbt

Preparing Video For Download...