basedosdados / basedosdados/pipelines
[chore] Limpar metadado órfão — datasets/tabelas registrados no backend sem contraparte no BigQuery
- Dominant language
- Python
- Stars
- 49
- Forks
- 22
- Avg merge
- 19h 31m
- Merged PRs (30d)
- 165
Description
### Descrição
Levantamento feito durante a auditoria de `Table.Update.latest` (#1806, #1861): cruzando o catálogo completo do backend (`Table`/`CloudTable`) contra o BigQuery real (`__TABLES__`), **63 tabelas em 7 datasets** têm registro de metadado no backend mas não existem de fato no BigQuery — nem o dataset, nem a tabela específica.
Duas categorias diferentes:
**1. Datasets inteiros que não existem mais no BigQuery** (o dataset em si dá 404):
| Dataset | Tabelas registradas (órfãs) |
|---|---|
| `us_cms_open_payments` | 23 |
| `br_mercadolivre_ofertas` | 2 |
| `br_b3_cotacoes` | 1 |
| `br_ibge_censo_agropecuario` | 1 |
**2. Datasets que existem, mas com `table_id`s específicos sem contrapartida real** (o dataset existe no BigQuery, só essas tabelas não):
| Dataset | Tabelas órfãs | Tabelas reais (ok) |
|---|---|---|
| `br_ibge_censo_2022` | 33 de 49 registradas | 16 batem |
| `br_bd_metadados` | 2 (`columns`, `datasets`) | 5 batem |
| `br_ibge_pib` | 1 (`contas_nacionais`) | 7 batem |
**Achado relacionado:** `br_me_cnpj` (mesmo padrão — sem nenhum `CloudTable` registrado, apesar de as tabelas ainda existirem no BigQuery) foi confirmado como **descontinuado em favor de `br_rf_cnpj`**. As tabelas de `br_me_cnpj` no BigQuery são o mesmo tipo de resquício órfão desta issue, só que na direção oposta (existe no BQ, não existe metadado — as outras 63 têm metadado, não existem no BQ).
### Escopo afetado
Pra cada um dos 7 datasets acima, decidir e executar uma das duas ações:
1. **Se o dataset/tabela foi descontinuado de propósito** (ex.: substituído por outro, como parece ser o caso de `br_ibge_censo_2022` parcial e possivelmente `us_cms_open_payments`): remover o registro órfão do backend (`Table`, `CloudTable`, `Update` associados).
2. **Se foi uma perda de registro/dado sem intenção**: reconstituir o dataset no BigQuery ou reconciliar o metadado.
Não incluído nesta lista: os 5 casos de `br_me_cnpj`, tratados como resolvidos (dataset descontinuado, ver acima) — mas as tabelas remanescentes no BigQuery podem entrar no mesmo processo de limpeza se fizer sentido.
### Referências
- #1806 — auditoria original de `Table.Update.latest`
- #1861 — chore de correção de `Table.Update.latest` (249 tabelas corrigidas)
Contributor guide
Research direction
Start by reading issues #1806 and #1861, then inspect how the backend catalog is compared with BigQuery for the seven listed datasets. The issue names no files, tests, or entry points, so first determine where Table, CloudTable, and Update records are managed. Done means deciding whether each orphan is intentional and reconciling the backend metadata or BigQuery accordingly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data-engineering, databases
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100