Criando um projeto no dbt utilizando o BigQuery
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.