25 puntos por darjeeling 2025-06-04 | Aún no hay comentarios. | Compartir por WhatsApp

Esta es una charla de PyCon US 2025.

Ciencia de datos con DuckDB: domando entornos de archivos complejos - Alex Monahan

En el video de la presentación de Alex Monahan se explica cómo DuckDB, una biblioteca de base de datos analítica de código abierto, puede ayudar a los científicos de datos a gestionar y analizar archivos de datos diversos y desordenados.

Puntos principales:

  • El problema del zoológico de archivos: los científicos de datos trabajan con muchísimos archivos en distintos formatos, como CSV, Parquet y hojas de cálculo, que además pueden estar dispersos en varias ubicaciones y plataformas en la nube. Estos archivos suelen ser grandes, numerosos y propensos a estar desordenados o dañados.
  • Resumen de DuckDB: DuckDB se presenta como “SQLite para analítica”. Es de código abierto (licencia MIT) y una base de datos in-process (embebida) diseñada para cargas de trabajo analíticas. Se instala fácilmente sin dependencias con pip install duckdb y puede usarse directamente dentro de scripts o notebooks de Python.
  • Lectura de distintos archivos: DuckDB puede leer una amplia variedad de formatos de archivo, incluidos archivos en almacenamiento en la nube como S3. Su lector de CSV es especialmente potente para manejar CSV desordenados del mundo real y supera a muchas otras herramientas en su capacidad para parsear correctamente archivos problemáticos.
  • SQL familiar y API relacional: DuckDB ofrece una interfaz SQL fácil de usar (por ejemplo, SELECT * es opcional) y una API relacional con estilo Python. Se pueden consultar archivos directamente como si fueran tablas, y funciona de manera perezosa (lazy), leyendo los datos solo cuando hace falta.
  • Interoperabilidad: se integra sin fricciones con bibliotecas populares de ciencia de datos como Pandas y Polars, y como corre dentro del mismo proceso, permite intercambio de datos zero-copy.
  • Formato de archivo de DuckDB: el formato nativo de DuckDB es un único archivo comprimido y orientado a columnas que puede almacenar múltiples tablas, vistas, funciones SQL y relaciones. Este formato es editable, admite propiedades ACID y está diseñado para ofrecer velocidad y eficiencia.
  • Propiedades ACID: DuckDB aporta la solidez de una base de datos a los flujos de trabajo de ciencia de datos mediante atomicidad (los cambios se aplican por completo o no se aplican), consistencia (prevención de problemas de calidad de datos mediante claves), aislamiento (las consultas concurrentes no interfieren entre sí) y durabilidad (los datos confirmados están a salvo de la corrupción).
  • Casos de uso: es útil para domar el “zoológico de archivos” al consolidar datos en un formato único, eficiente y consultable. También ayuda a evitar que se cree un nuevo zoológico de archivos durante tareas repetitivas de ciencia de datos.
  • Comunidad y extensibilidad: DuckDB es extensible, y gracias a contribuciones de la comunidad se está agregando soporte para formatos como archivos de paquetes estadísticos y Google Sheets.

Alex Monahan, quien trabaja en DuckDB Labs y MotherDuck (un data warehouse en la nube basado en DuckDB), destacó que DuckDB busca simplificar el procesamiento de datos para científicos de datos al combinar la potencia de las bases de datos con la flexibilidad necesaria para la ciencia de datos.

Aún no hay comentarios.

Aún no hay comentarios.