Section 12.3.2 : BigQuery — Data warehouse cloud
🎯 Objectif pédagogique
Utiliser Google BigQuery comme data warehouse : charger des données, écrire des requêtes SQL sur des volumes massifs, et construire des vues analytiques.
BigQuery : le SQL à l'échelle du cloud
BigQuery est le data warehouse serverless de Google. Ses avantages :
- →Serverless : pas de serveur à gérer, pas d'infrastructure
- →Performant : requêtes sur des téraoctets en secondes
- →Économique : 1 To de stockage = 20$/mois, 1 To de requêtes = 5$
- →SQL standard : pas de nouveau langage à apprendre
Premiers pas avec BigQuery
-- Créer un dataset (= une base de données)
CREATE SCHEMA IF NOT EXISTS mon_projet;
-- Requêter les données chargées par Fivetran
SELECT
contact_email,
deal_name,
deal_amount,
deal_stage,
created_at
FROM mon_projet.hubspot_deals
WHERE deal_stage = 'Closed Won'
AND created_at >= '2025-01-01'
ORDER BY deal_amount DESC
LIMIT 100;
Fonctions BigQuery spécifiques
-- Fonctions de fenêtre (window functions)
SELECT
client,
mois,
revenue,
SUM(revenue) OVER (PARTITION BY client ORDER BY mois) AS revenue_cumule,
LAG(revenue) OVER (PARTITION BY client ORDER BY mois) AS revenue_mois_precedent
FROM mon_projet.revenue_mensuel;
-- Requêtes sur des données JSON
SELECT
JSON_VALUE(metadata, '$.utm_source') AS source,
COUNT(*) AS conversions
FROM mon_projet.events
WHERE event_type = 'purchase'
GROUP BY source
ORDER BY conversions DESC;
Quel est l'avantage principal de BigQuery par rapport à une base SQL classique ?