DuckDB s’impose comme le nouveau jq
- Le projet DuckDB est une base de données comparable à SQLite pour les applications de données, avec la capacité d’importer divers formats de données sans dépendance supplémentaire.
- Il peut lire et analyser directement des fichiers JSON comme des tables de base de données, et cela s’applique aussi à de nombreux autres formats.
- Pour travailler avec du JSON, on utilise généralement
jq, mais comme la syntaxe complexe de jq est moins familière que SQL, utiliser DuckDB peut être plus pratique.
- Par exemple, en utilisant l’API GitHub pour récupérer en JSON les informations sur les dépôts de l’organisation golang, on peut obtenir simplement en SQL des statistiques sur les types de licences open source.
- Avec DuckDB, écrire des requêtes SQL est facile même sans consulter la documentation, et la syntaxe utilisée ressemble aux fonctions JSON de PostgreSQL.
- DuckDB prend aussi en charge la sortie en JSON, et si nécessaire, on peut utiliser
jq pour formater joliment le résultat.
- DuckDB peut importer non seulement du JSON, mais aussi divers formats comme CSV, parquet et les fichiers Excel.
- S’il n’est pas nécessaire de stocker les données de manière persistante, on peut les interroger sans créer de table.
- DuckDB peut lire du JSON directement depuis une URL, et pas seulement depuis des fichiers locaux.
L’avis de GN⁺
- DuckDB peut être un outil intéressant pour les utilisateurs qui effectuent souvent des tâches liées à l’analyse de données. En particulier, pour les personnes à l’aise avec SQL, il peut devenir une alternative puissante pour manipuler facilement des données JSON.
- Le fait que DuckDB puisse lire directement des données JSON simplifie le prétraitement des données et présente l’avantage de réduire les étapes séparées de transformation dans la construction de pipelines de données.
- Si l’usage de DuckDB se diffuse, il pourrait réduire la courbe d’apprentissage par rapport aux outils existants plus complexes pour l’analyse et le traitement des données, tout en améliorant la productivité.
- Cependant, si DuckDB reste encore peu connu ou si le support de la communauté n’est pas suffisant, il peut être difficile pour les utilisateurs de trouver des solutions lorsqu’ils rencontrent des problèmes.
- Parmi les autres projets open source offrant des fonctionnalités similaires à DuckDB, on peut citer Apache Drill ou PrestoDB, qui prennent eux aussi en charge les requêtes SQL sur de grands jeux de données.
1 commentaires
Avis Hacker News
Combinaison de jq et des outils shell de base
curl ... | jq '.[].license.key' | sort | uniq -c.Babashka et Clojure
CLI local de ClickHouse
Utilisation de jq, DuckDB et SQL
Requêtes Google Sheets
Journalisation structurée avec une base de données SQLite
Benthos
Nushell
pq (prql-query)
JSON et l'utilisation des langages de programmation