duckdb-query

Modèles de requête DuckDB pour les charges de travail analytiques intégrées, la lecture de fichiers Parquet/CSV et l'analyse embarquée.

Qu'est-ce que duckdb-query ?

Cette compétence permet d'utiliser DuckDB pour effectuer des requêtes analytiques directement dans le processus, sans serveur externe. Elle est idéale pour l'exploration rapide de données stockées au format Parquet ou CSV, et pour intégrer des capacités d'analyse dans des applications logicielles. DuckDB est un SGBD colonnaire optimisé pour l'OLAP, ce qui le rend performant pour les agrégations et les filtres sur de gros volumes de données. La compétence couvre les modèles de requête principaux : lecture de fichiers, création de vues, jointures, fenêtres, et export de résultats.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/duckdb/duckdb-skills/tree/main/skills/duckdb-query

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait duckdb-query ?

Modèles de requête DuckDB pour les charges de travail analytiques intégrées, la lecture de fichiers Parquet/CSV et l'analyse embarquée.

Introduction

DuckDB permet d'exécuter des requêtes SQL directement sur des fichiers Parquet, CSV ou JSON sans nécessiter d'importation préalable. Cette compétence vous guide dans l'utilisation des fonctionnalités avancées de DuckDB au sein de votre environnement.

Lecture de fichiers

-- Lire un fichier CSV
SELECT * FROM read_csv_auto('data.csv');

-- Lire un fichier Parquet
SELECT * FROM read_parquet('data.parquet');

-- Lire plusieurs fichiers Parquet
SELECT * FROM read_parquet('data/*.parquet');

Options de lecture

  • header : booléen pour spécifier la présence d'en-têtes (par défaut true)
  • delim : délimiteur pour les fichiers CSV (par défaut ,)
  • columns : définition manuelle des colonnes pour un contrôle précis

Analyse embarquée

DuckDB peut être exécuté en mode intégré (in-process) ce qui le rend idéal pour les applications nécessitant des analyses rapides sans dépendances lourdes.

Création de vues

CREATE OR REPLACE VIEW ma_vue AS
SELECT colonne1, SUM(colonne2) AS total
FROM read_parquet('donnees.parquet')
WHERE colonne3 > 10
GROUP BY colonne1;

Agrégations

SELECT 
  categorie,
  COUNT(*) AS nb_enregistrements,
  AVG(montant) AS montant_moyen
FROM 'ventes.parquet'
GROUP BY categorie
ORDER BY nb_enregistrements DESC;

Fonctions fenêtrées

DuckDB supporte les fonctions de fenêtre (window functions) pour des analyses plus complexes.

SELECT 
  date,
  produit,
  ventes,
  SUM(ventes) OVER (PARTITION BY produit ORDER BY date) AS cumul_ventes
FROM 'produits.parquet';

Export de résultats

-- Exporter vers CSV
COPY (SELECT * FROM ma_vue) TO 'resultats.csv' (FORMAT CSV, HEADER);

-- Exporter vers Parquet
COPY (SELECT * FROM ma_vue) TO 'resultats.parquet' (FORMAT PARQUET);

Intégration avec les langages

  • Python : via duckdb (pip install duckdb)
  • Node.js : via duckdb (npm install duckdb)
  • R : via duckdb (install.packages("duckdb"))

Ressources

Skills associés