DuckDB wird zum neuen jq
- Das DuckDB-Projekt ist eine SQLite-ähnliche Datenbank für Datenanwendungen und bringt Funktionen mit, um verschiedene Datenformate ohne zusätzliche Abhängigkeiten zu importieren.
- JSON-Dateien lassen sich direkt als Datenbanktabellen einlesen und parsen; das gilt auch für viele andere Formate.
- Für die Arbeit mit JSON wird meist
jq verwendet, aber weil die jq-Syntax komplex sein kann und SQL vertrauter ist, ist DuckDB oft bequemer.
- So lassen sich zum Beispiel mit der GitHub-API Repository-Informationen der golang-Organisation als JSON abrufen und anschließend Statistiken zu Open-Source-Lizenztypen einfach per SQL erstellen.
- SQL-Abfragen in DuckDB zu schreiben ist auch ohne ständigen Blick in die Dokumentation leicht möglich; die Syntax ähnelt den JSON-Funktionen von PostgreSQL.
- DuckDB unterstützt auch JSON-Ausgabe, und bei Bedarf kann
jq genutzt werden, um die Ergebnisse hübsch zu formatieren.
- DuckDB kann nicht nur JSON, sondern auch viele andere Datenformate wie CSV, Parquet oder Excel-Dateien importieren.
- Wenn Daten nicht dauerhaft gespeichert werden müssen, können sie auch ohne das Erstellen von Tabellen abgefragt werden.
- DuckDB kann JSON nicht nur aus lokalen Dateien, sondern auch direkt von URLs einlesen.
Meinung von GN⁺
- DuckDB könnte ein interessantes Werkzeug für Nutzer sein, die häufig mit Datenanalyse zu tun haben. Vor allem für Menschen, die mit SQL vertraut sind, kann es eine leistungsstarke Alternative für den einfachen Umgang mit JSON-Daten sein.
- Dass DuckDB JSON-Daten direkt lesen kann, vereinfacht die Datenvorverarbeitung und reduziert beim Aufbau von Datenpipelines den Bedarf an separaten Transformationsschritten.
- Wenn sich DuckDB weiter verbreitet, könnte es im Vergleich zu bestehenden, komplexeren Werkzeugen für Datenanalyse und -verarbeitung die Lernkurve senken und die Produktivität steigern.
- Wenn DuckDB allerdings noch nicht breit bekannt ist oder die Community-Unterstützung nicht ausreicht, könnte es für Nutzer schwierig sein, bei Problemen Lösungen zu finden.
- Andere Open-Source-Projekte mit ähnlichen Funktionen sind etwa Apache Drill oder PrestoDB, die ebenfalls SQL-Abfragen auf große Datensätze unterstützen.
1 Kommentare
Hacker-News-Kommentare
Kombination aus jq und grundlegenden Shell-Tools
curl ... | jq '.[].license.key' | sort | uniq -cerledigen.Babashka und Clojure
ClickHouse Local CLI
Einsatz von jq, DuckDB und SQL
Google-Sheets-Abfragen
Strukturiertes Logging mit einer SQLite-Datenbank
Benthos
Nushell
pq (prql-query)
JSON und der Einsatz von Programmiersprachen