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éfauttrue)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"))