Criando um projeto no dbt utilizando o BigQuery

Camila Marques de Oliveira
3 min readAug 23, 2023

--

Read this post in English here

O objetivo deste artigo é demonstrar o passo a passo para criar um projeto local do dbt utilizando o BigQuery como Data Warehouse, para isso é importante que você tenha uma conta no Gmail que possa ser utilizada para criar o projeto.

1. Criação do Projeto no GCP

O primeiro passo é acessar o Google Cloud Platform para criar um novo projeto. Clique no seu projeto atual e crie um novo projeto:

Dê um nome ao seu projeto e clique em create:

Feito isso, já dentro do projeto, acesse o Service Accounts e crie um novo serviço, então clique em create and continue (não clique em Done ainda):

Depois, ao escolher a role, escolha BigQuery Admin:

Então clique em continue e Done. Ainda em Service Accounts, vá em Actions conforme indicado pela seta e depois em Manage Keys. Clique em add key, depois em create key, deixe o formato json selecionado e selecione create:

Assim, o download das suas credenciais será feito na sua máquina. Sugiro que renomeie as suas credenciais para algo como credentials.

2. Instalação e Configuração do dbt core e dbt-bigquery

Ao instalar o dbt-bigquery em nossa máquina, automaticamente instalamos também o dbt core. Seguindo a documentação, vamos instalar com o pip, então o padrão é pip install dbt-<adapter> onde <adapter> será o Data Warehouse escolhido (Snowflake, BigQuery, Redshift, etc). Assim, no seu terminal do VS code digite:

pip install dbt-bigquery

Feito isso, já podemos criar o projeto utilizando o dbt, basta digitar:

dbt init <nome-do-projeto>

Quando o projeto é criado, algumas informações são solicitadas:

  • Nome do projeto: defina um nome para o seu projeto seguindo as instruções do dbt
  • Database: defina bigquery
  • Método escolhido para autenticação: service_account
  • Nome do dbt dataset: bigquery
  • Threads: 1
  • job_execution_timeout_seconds: 300
  • Opção de local: 1

Feito isso, seu projeto estará criado!

Agora precisamos definir algumas configurações. No projeto do dbt crie um arquivo profile.yml e siga as instruções da documentação para configurar o seu perfil. Seu arquivo deve ficar com a configuração dessa forma:

# For more information on how to configure this file, please see:
# https://docs.getdbt.com/docs/profile
dbt-bigquery:
outputs:
dev:
type: bigquery
threads: 1
method: service-account
project: [id do seu projeto no GCP]
dataset: schema
keyfile: [caminho das suas credenciais]
timeout_seconds: 300
target: dev

Pronto! Agora você pode testar se o seu repositório está configurado corretamente executando dbt run --models my_first_dbt_model , a mensagem que deve aparecer é de sucesso:

Agora você já pode criar os seus próprios modelos e explorar todas as funcionalidades oferecidas pelo dbt. Se preferir, pode checar o projeto no meu GitHub também.

--

--