Ambiente para modelagem de dados da SMS Rio com dbt, BigQuery e comparação de ambientes via Recce.
Administrador: Pedro Marques
Ferramenta | Versão | Observações |
---|---|---|
Python | 3.10.x | Windows: Baixe o instalador https://www.python.org/downloads/release/python-3109/ |
Poetry | 1.7.1 | pip install poetry==1.7.1 |
dbt-core + dbt-bigquery | pip install dbt-core dbt-bigquery |
|
Recce | Ferramenta para checar a diferença entre os dados em diversos ambientes |
|
Git | Windows: Baixe o instalador https://git-scm.com/downloads/win |
Clone o repositório
git clone https://github.com/prefeitura-rio/queries-rj-sms cd queries-sms-rj
poetry shell # cria/ativa o venv isolado
poetry install --no-root # instala todas as dependências declaradas em pyproject.toml
O comando poetry shell
garante que as libs sejam instaladas no ambiente virtual correto, evitando conflitos.
dbt deps # baixa dbt-utils e demais packages declarados em packages.yml
dbt deps
resolve versões e coloca tudo em .dbt_packages/.
-
Obtenha o arquivo
rj-sms-dev-dbt.json
(IAM → Service Accounts). -
Copie o arquivo
profiles.yml
para um diretório seguro de sua preferência. -
Edite o parâmetro keyfile no profile
dev
do arquivoprofiles.yml
para apontar para o JSON.- No Windows, coloque o path completo entre aspas duplas.
-
Crie uma variável de ambiente chamada
DBT_PROFILES_DIR
que aponte para o caminho do arquivoprofiles.yml
- ex.
DBT_PROFILES_DIR='/Users/foo/.credentials/'
- ex.
-
Crie uma variável de ambiente chamada
DBT_USER
, que receba seu nome.- ex.
DBT_USER='seu_nome'
- ex.
-
Dê privilegio de execução para o script ./recce.sh
- Linux e MacOS: chmod +x recce.sh
- Windows: Não precisa
-
Use a extensão (Power User for dbt) no vscode ou similares, para ter acesso a uma interface gráfica para interagir com o dbt.
-
Cheque se seu ambiente está executando com o compilador certo (Python 3.10.x)
Ação | Comando básico | Exemplos úteis |
---|---|---|
Executar modelos | dbt run |
dbt run -s "nome_modelo" |
Rodar testes | dbt test |
dbt test -s tag:sua_tag |
Executar e testar | dbt build |
dbt build -s staging.* |
Gerar docs HTML | dbt docs generate && dbt docs serve |
Abre em localhost:8080 |
A ferramenta spawna um contêiner e publica a interface em http://localhost:8000
.
Assim você avalia o diff entre produção e a sua branch antes mesmo do merge, sendo útil para avaliar a extensão das suas alterações no fluxo de transformação de dados.
Passo a passo de como utilizar o recce
Não esqueça de checar se você está logado no seu ambiente com a sua conta certa do GitHub.
(A que você quer usar para trabalhar nesse projeto).
- Crie branches no formato
feat/<breve-descrição>
oufix/<issue>
feat:<descricao>
,fix:<descricao>
,refact:<descricao>
, ...
- Descreva brevemente o contexto e a solução
- Adicione screenshot do Recce se aplicável