25 pontos por darjeeling 2025-06-04 | Ainda não há comentários. | Compartilhar no WhatsApp

Este é o conteúdo de uma apresentação da PyCon US 2025.

Ciência de dados com DuckDB: dominando ambientes de arquivos complexos - Alex Monahan

No vídeo da apresentação de Alex Monahan, é explicado como o DuckDB, uma biblioteca de banco de dados analítico open source, pode ajudar cientistas de dados a gerenciar e analisar arquivos de dados variados e desorganizados.

Principais pontos:

  • O problema do “zoológico de arquivos”: cientistas de dados lidam com inúmeros arquivos em formatos variados, como CSV, Parquet e planilhas, que podem estar espalhados por vários locais e plataformas de nuvem. Esses arquivos podem ser grandes, numerosos, desorganizados ou facilmente corrompidos.
  • Visão geral do DuckDB: o DuckDB é apresentado como “SQLite para análise”. É open source (licença MIT) e um banco de dados in-process (embutido) projetado para cargas de trabalho analíticas. Pode ser instalado facilmente com pip install duckdb, sem dependências, e usado diretamente em scripts Python ou notebooks.
  • Leitura de vários tipos de arquivo: o DuckDB consegue ler uma ampla variedade de formatos de arquivo, incluindo arquivos em armazenamento em nuvem como o S3. Seu leitor de CSV é especialmente poderoso para lidar com arquivos CSV bagunçados do mundo real, superando muitas outras ferramentas na capacidade de fazer o parsing com sucesso de arquivos problemáticos.
  • SQL familiar e API relacional: o DuckDB oferece uma interface SQL amigável ao usuário (por exemplo, SELECT * é opcional) e uma API relacional no estilo Python. É possível consultar arquivos diretamente como se fossem tabelas, e ele funciona de forma lazy, lendo os dados apenas quando necessário.
  • Interoperabilidade: integra-se de forma fluida com bibliotecas populares de ciência de dados, como Pandas e Polars, e, por rodar no mesmo processo, permite troca de dados zero-copy.
  • Formato de arquivo do DuckDB: o formato nativo de arquivo do DuckDB é um único arquivo colunar comprimido que pode armazenar várias tabelas, views, funções SQL e relações. Esse formato é editável, suporta propriedades ACID e foi projetado para velocidade e eficiência.
  • Propriedades ACID: o DuckDB oferece a robustez de um banco de dados para fluxos de trabalho de ciência de dados por meio de atomicidade (todas as alterações ou nenhuma), consistência (prevenção de problemas de qualidade de dados com o uso de chaves), isolamento (consultas simultâneas não interferem entre si) e durabilidade (dados confirmados ficam protegidos contra corrupção).
  • Casos de uso: é útil para domar o “zoológico de arquivos” ao consolidar dados em um formato único, eficiente e consultável. Também ajuda a evitar que um novo zoológico de arquivos seja criado durante tarefas repetitivas de ciência de dados.
  • Comunidade e extensibilidade: o DuckDB é extensível, e o suporte a formatos como arquivos de pacotes estatísticos e Google Sheets está sendo adicionado por meio de contribuições da comunidade.

Alex Monahan, que trabalha na DuckDB Labs e na MotherDuck (data warehouse em nuvem baseado em DuckDB), destacou que o DuckDB busca simplificar o processamento de dados para cientistas de dados ao combinar o poder dos bancos de dados com a flexibilidade necessária para a ciência de dados.

Ainda não há comentários.

Ainda não há comentários.