Conteúdo 4

Processamento Out-of-Core com duckdb e DBI no R

Nesta aula, enfrentamos o desafio de analisar dados que excedem a memória RAM do computador, introduzindo o paradigma de processamento Out-of-Core no R. Exploramos a arquitetura dessa solução, compreendendo o papel do pacote duckdb como o motor analítico in-process e do pacote DBI como a interface de conexão universal. Aprendemos a estrutura fundamental da linguagem SQL para realizar consultas diretamente no disco, focando nos comandos SELECT, FROM, WHERE, GROUP BY e ORDER BY. A aula demonstra, com exemplos práticos usando dados do DATASUS, como agregar e filtrar milhões de registros instantaneamente, trazendo para o R apenas o resultado consolidado. Este é um passo essencial para escalar análises, garantir a performance em datasets massivos e superar as limitações do processamento in-memory tradicional.

Dados que iremos usar:

Slides:

Projeto 1 – Preparação de Datasets para Análise de Risco

Você é um(a) Engenheiro(a) de Dados. O time de Cientistas de Dados solicitou um dataset filtrado do SCR.data. Vocês devem usar duckdb para consultar arquivos CSV brutos, fazer a filtragem necessária usando SQL, e entregar um dataframe leve no R. O projeto é INDIVIDUAL.

Prazo: Próxima aula.

Tarefa: Acesse https://dadosabertos.bcb.gov.br/dataset/scr_data, baixe os dados de 2025 e selecione o conjunto de dados (arquivo CSV) do mês mais recente disponível.

Em seguida, escolha 1 Estado (UF) e 1 das duas opções de projeto abaixo.

O objetivo de ambas as opções é escrever uma consulta SQL que leia o CSV e filtre os dados. A consulta deve usar WHERE para selecionar apenas as linhas que correspondam à UF escolhida E ao tipo de cliente ('PF' ou 'PJ').

Opção 1: Extração de Micro-Segmentos de Risco (Pessoa Física)

  • Objetivo: Preparar o dataset de clientes Pessoa Física (PF) para uma futura análise de risco e segmentação.
  • Filtro Requerido: cliente = 'PF' (além da UF escolhida).

Opção 2: Extração de Risco Setorial (Pessoa Jurídica)

  • Objetivo: Preparar o dataset de clientes Pessoa Jurídica (PJ) para uma futura análise de risco dos diferentes setores da economia (CNAE).
  • Filtro Requerido: cliente = 'PJ' (além da UF escolhida).

Entrega: Produza um relatório em pdf gerado em Quarto que contenha:

  1. Qual das 2 opções foi escolhida e qual a UF (Estado) selecionada.
  2. O script R completo e comentado no documento Quarto. Nesta tarefa, o código SQL dentro do R é a parte principal do trabalho.
  3. A saída da consulta no R. Você deve usar as funções glimpse() e summary() no dataframe resultante para provar que os filtros foram aplicados corretamente.
  4. O envio deve ser realizado pelo SIGAA.