Aller au contenu

DuckDB

La procédure ci-dessous présente comment configurer DuckDB, un gestionnaire de données structurées avec un langage SQL spécialisé dans le traitement analytique en ligne (ou OLAP pour Online Analytical Processing). Ce programme est disponible pour la plupart des systèmes d'exploitation comme Windows, macOS et Linux. DuckDB peut utiliser plusieurs sources de données, dont des fichiers Parquet via un stockage objet (S3) comme celui de VALERIA.

Configuration de DuckDB

Étapes préliminaires

  • Avoir accès à sa clé et secret S3. Ces valeurs sont disponibles dans votre tableau de bord sur le portail de VALERIA, dans la carte « Clés de stockage » . 
  • Avoir installé DuckDB

Pour simplifier l’installation et la configuration, consulter les instructions d'installation, dans la documentation du produit. Sommairement, il s'agit de télécharger un fichier zip, de le décompresser et, au besoin, d'ajouter les droits d'exécution au fichier « duckdb ».

Configuration

Utiliser les commandes suivantes à même DuckDB :

INSTALL httpfs;
LOAD httpfs;
SET s3_region="auto";
SET s3_endpoint='s3.valeria.science';
SET s3_access_key_id='votre-cle-d-acces';
SET s3_secret_access_key='votre-cle-secrete';

Usage

La syntaxe des requêtes est similaire à :

SELECT * FROM read_parquet('s3://<nom-de-votre-compartiment>/<fichier>');

Exemple simple de requête SQL via un fichier Parquet sur un compartiment de stockage objet (S3) de VALERIA. Les clés ne sont pas requises pour cet exemple, puisque le fichier est disponible via un compartiment dont l'accès en lecture est public.

INSTALL httpfs;
LOAD httpfs;
SET s3_region="auto";
SET s3_endpoint='s3.valeria.science';

SELECT * FROM read_parquet('s3://public/flights.parquet');

┌───────┬───────┬───────┬──────────┬───┬──────────┬──────────┬────────┬────────┐
│ year  │ month │  day  │ dep_time │ … │ air_time │ distance │  hour  │ minute │
│ int32 │ int32 │ int32 │  int32   │   │  double  │  double  │ double │ double │
├───────┼───────┼───────┼──────────┼───┼──────────┼──────────┼────────┼────────┤
│  2013 │     1 │     1 │      517 │ … │    227.0 │   1400.0 │    5.0 │   15.0 │
│  2013 │     1 │     1 │      533 │ … │    227.0 │   1416.0 │    5.0 │   29.0 │
│  2013 │     1 │     1 │      542 │ … │    160.0 │   1089.0 │    5.0 │   40.0 │
│  2013 │     1 │     1 │      544 │ … │    183.0 │   1576.0 │    5.0 │   45.0 │
│  2013 │     1 │     1 │      554 │ … │    116.0 │    762.0 │    6.0 │    0.0 │
│  2013 │     1 │     1 │      554 │ … │    150.0 │    719.0 │    5.0 │   58.0 │

...

Références