25 Punkte von darjeeling 2025-06-04 | Noch keine Kommentare. | Auf WhatsApp teilen

Dies ist ein Vortrag von der PyCon US 2025.

Datenwissenschaft mit DuckDB: Eine komplexe Dateilandschaft bändigen - Alex Monahan

Im Vortragsvideo von Alex Monahan wird erklärt, wie DuckDB, eine Open-Source-Analyse-Datenbankbibliothek, Datenwissenschaftlern dabei helfen kann, unterschiedlichste und unstrukturierte Datendateien zu verwalten und zu analysieren.

Wichtige Inhalte:

  • Das Problem des Datei-Zoos: Datenwissenschaftler arbeiten mit zahllosen Dateien in verschiedenen Formaten wie CSV, Parquet und Tabellenkalkulationen, die über mehrere Orte und Cloud-Plattformen verstreut sein können. Diese Dateien sind oft groß, zahlreich, unorganisiert oder anfällig für Beschädigungen.
  • DuckDB im Überblick: DuckDB wird als „SQLite für Analytik“ vorgestellt. Es ist Open Source (MIT-Lizenz) und eine In-Process-(eingebettete) Datenbank, die für analytische Workloads entwickelt wurde. Es lässt sich ohne Abhängigkeiten einfach mit pip install duckdb installieren und direkt in Python-Skripten oder Notebooks verwenden.
  • Lesen verschiedenster Dateien: DuckDB kann eine große Bandbreite an Dateiformaten lesen, darunter auch Dateien aus Cloud-Speichern wie S3. Besonders der leistungsfähige CSV-Reader ist stark darin, real existierende, unordentliche CSV-Dateien zu verarbeiten, und übertrifft viele andere Tools darin, problematische Dateien erfolgreich zu parsen.
  • Vertrautes SQL und relationale API: DuckDB bietet eine benutzerfreundliche SQL-Schnittstelle (z. B. ist SELECT * optional) und eine relationale API im Python-Stil. Dateien lassen sich direkt abfragen, als wären sie Tabellen, und es arbeitet lazy, sodass Daten nur bei Bedarf gelesen werden.
  • Interoperabilität: Es integriert sich nahtlos mit beliebten Data-Science-Bibliotheken wie Pandas und Polars, und weil es im selben Prozess läuft, ist ein Zero-Copy-Datenaustausch möglich.
  • DuckDB-Dateiformat: Das native DuckDB-Dateiformat ist eine einzelne spaltenorientierte komprimierte Datei, in der mehrere Tabellen, Views, SQL-Funktionen und Beziehungen gespeichert werden können. Dieses Format ist editierbar, unterstützt ACID-Eigenschaften und ist auf Geschwindigkeit und Effizienz ausgelegt.
  • ACID-Eigenschaften: DuckDB bringt die Robustheit einer Datenbank in Data-Science-Workflows durch Atomarität (Änderungen ganz oder gar nicht), Konsistenz (Vermeidung von Datenqualitätsproblemen mithilfe von Schlüsseln), Isolation (gleichzeitige Abfragen stören sich nicht gegenseitig) und Dauerhaftigkeit (committete Daten sind vor Beschädigung geschützt).
  • Anwendungsfälle: Es ist nützlich, um einen „Datei-Zoo“ zu bändigen, indem Daten in einem einzigen, effizienten und abfragbaren Format konsolidiert werden. Außerdem hilft es dabei zu verhindern, dass während wiederholter Data-Science-Arbeiten neue Datei-Zoos entstehen.
  • Community und Erweiterbarkeit: DuckDB ist erweiterbar, und durch Beiträge aus der Community wird Unterstützung für Formate wie Dateien aus Statistikpaketen und Google Sheets hinzugefügt.

Alex Monahan, der bei DuckDB Labs und MotherDuck (einem Cloud Data Warehouse auf Basis von DuckDB) arbeitet, betonte, dass DuckDB darauf abzielt, die Stärke von Datenbanken mit der für Data Science nötigen Flexibilität zu verbinden, um die Datenverarbeitung für Datenwissenschaftler zu vereinfachen.

Noch keine Kommentare.

Noch keine Kommentare.