fix(br_bcb_estban): add cnpj_basico to agencia unique key - #1846
Conversation
O teste dbt_utils.unique_combination_of_columns da tabela `agencia` falhava com 45 grupos duplicados (585 linhas) na competência mais recente, derrubando o flow `br_bcb_estban__agencia` no passo `dbt test` (run `ivory-seahorse`, 2026-08-18). Não é duplicação de ingestão: em Brasília (id_municipio 5300108) treze instituições distintas compartilham o mesmo `cnpj_agencia` (00000000000191, CNPJ do Banco do Brasil). O valor vem direto da coluna `AGENCIA` da fonte — a limpeza apenas remove apóstrofos. Ou seja, a chave do teste estava incompleta: `cnpj_agencia` sozinho não identifica a linha. Incluir `cnpj_basico` na chave — a mesma coluna que a tabela `municipio` já usa — torna a combinação única. Verificado no BigQuery: 0 grupos duplicados em basedosdados-dev 2026-03 e em basedosdados 2025-11 (os meses afetados).
|
Warning Review limit reached
Next review available in: 32 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Problema
O flow
br_bcb_estban__agenciafalha no passodbt test, no testedbt_utils.unique_combination_of_columns:Última ocorrência: run
ivory-seahorse(acf10912-9a0b-449d-ac22-1b1b5205a5f1),2026-08-18. O poll, o download, a limpeza, o upload e o
dbt runfuncionaram —a correção do PR #1783 está OK. A falha é só no teste.
Causa
Não é duplicação de ingestão. Todos os 45 grupos duplicados (585 linhas) estão em
Brasília (
id_municipio = 5300108), onde treze instituições distintascompartilham o mesmo
cnpj_agencia:00000000000191, o CNPJ do Banco doBrasil. O valor vem direto da coluna
AGENCIAda fonte — a limpeza empipelines/crawler/bcb_estban/utils.pysó remove apóstrofos.Ou seja, a chave do teste está incompleta:
cnpj_agenciasozinho não identificaa linha.
Como o teste é escopado em
__most_recent_year_month__, ele falha sempre que acompetência mais recente carrega a colisão — 3 dos últimos 5 meses:
Correção
Incluir
cnpj_basicona chave — a mesma coluna que a tabelamunicipiojá usa.Verificado no BigQuery: 0 grupos duplicados com a chave nova, tanto em
basedosdados-dev2026-03 quanto embasedosdados2025-11.Notas
.sqlmuda, então não precisa detable-approvenem dedeploy-flow. O worker clonamainem tempo deexecução, então basta o merge.
agenciasignifica falha em toda run.municipiotem um carve-outpré-existente (
id_municipio not in ('5300108')) que mascara 270 gruposduplicados em 2026-03 — mesma causa raiz, em Brasília.