Skip to content

Atualização manual das tabelas do Caged

Arthur Gusmão edited this page Jun 12, 2024 · 2 revisions

Atualizando as tabelas do Caged 💼:

Steps:

1. Verificar calendário de divulgação dos novos dados

2. Ir até o seu clone local de queries-basedosdados-dev:

cd <path_to_queries_basedosdados_dev>

3. Abrir o arquivo crawler_caged.py:

nano models/br_me_caged/code/crawler_caged.py

4. Alterar as constants YEARMONTH e TABLE para os valores de AAAAMM e nome da tabela que deseja subir (i.e microdados_movimentacao, microdados_movimentacao_excluida ou microdados_fora_prazo):

if __name__ == '__main__':
    YEARMONTH = 'YYYYMM'
    TABLE =  'table_name'
    crawler_novo_caged_ftp(yearmonth=YEARMONTH)
    build_partitions(table_id=TABLE, yearmonth=YEARMONTH)

5. Caso já não tenha feito, instalar as dependências do grupo caged:

poetry install --with=caged

6. Rodar o código e repetir o processo para as demais tabelas:

poetry shell && python3 <path_to_crawler_caged.py>

7. Subir os dados para o dev usando o pacote:

import basedosdados as bd
tb = bd.Table(
    dataset_id='br_me_caged',    
    table_id = 'microdados_movimentacao'
)
tb.create(path = r"/tmp/caged/microdados_movimentacao/output/",
          if_storage_data_exists = 'replace',
          if_table_exists = 'replace',
          source_format="csv")

8. Executar o flow BD Utils: Transfere arquivos do bucket basedosdados-dev para basedosdados com os seguintes parâmetros:

 {
  "dataset_id": "br_me_caged",
  "dbt_alias": false,
  "folders": ["ano=2024"],
  "materialization_mode": "prod",
  "materialize_after_dump": true,
  "table_id": "<table_id>" 
} 

9. Atualizar o coverage no django admin

Done! 🚀

Clone this wiki locally