Projet DE

illustrations illustrations illustrations illustrations


Répartition des sources d'énergie et des températures dans le temps en France

Publié le 01 Apr 2023

Répartition des sources d'énergie et des températures dans le temps en France

Ce projet a été réalisé dans le cadre du Datatalks data engineering zoomcamp pour valider ma certification.


Contexte & Objectif

Il avait pour vocation de m’entraîner à mettre en place un pipeline récupérant des données sur une ou plusieurs sources pour les envoyer dans un data-lake avant de les envoyer dans un data-warehouse sous forme plus raffinée et de finalement consommer ces données avec une EDA ou un dashboard.

Mon pipeline se découpait donc comme suit:

  1. Copie des données depuis les sites sources vers le data-lake (Google Cloud Storage dans ce cas)

  2. Copie des données du data-lake vers un data-warehouse (BigQuery dans ce cas)

  3. Transformer les staging-data pour produire des developement/production-data utile à notre projet

  4. Consommer les nouvelles données via un tableau de bord personnalisé and directement depuis BigQuery

Voici donc un schéma permettant de voir le cheminement des data dans le pipeline


Sources de données

Afin de mener à bien ce projet, j’ai sélectionné 3 jeux de données sur le site web ODRÉ (Open Data Réseaux Energies).

Ces jeux de données sont particulièrement intéressants pour moi car ils fournissent des données en direct qui proviennent directement des transporteurs d’énergie et de leurs partenaires et chacun est mis à jour avec une fréquence différente (toutes les 1 heures / tous les 1 jours / tous les 1 mois).

Source 01 : Données éCO2mix nationales temps réel

Ce jeu de données, rafraîchi une fois par heure, présente des données “temps réel” issues de l’application éCO2mix. Elles proviennent des télémesures des ouvrages, complétées par des forfaits et estimations.

Source 02 : Stock quotidien dans les stockages de gaz

Ce jeu de données présente le stock de gaz présent dans les stockages de gaz de Teréga et Storengy, par PITS et en fin de journée gazière depuis le 1er novembre 2010 (GWh PCS 0°C).

Source 03 : Température quotidienne régionale

Ce jeu de données présente les températures minimales, maximales et moyennes quotidiennes (en degré celsius), par région administrative française, du 1er janvier 2016 à aujourd’hui. Il est basé sur les mesures officielles du réseau de stations météorologiques françaises.

Je les ai donc choisis parce-qu’ils touchent à un sujet qui m’intéresse, mais aussi et surtout dans ce cas parce-qu’ils sont techniquement intéressants.

Avec un pipeline de ce genre, un data-scientist peut essayer d’extraire des informations intéressantes.

  • Quelle est la répartition des sources d’énergie pour un jour donné ou une période donnée ?
  • Le stock de gaz est-il corrélé d’une manière ou d’une autre à la température ?
  • Les sources d’énergie sont-elles influencées par la température ?
  • Les sources d’énergie sont-elles influencées par le stock de gaz actuel ?
  • La répartition des sources d’énergie change-t-elle avec les saisons ?
  • Y a-t-il plus d’échanges commerciaux liés à l’énergie lorsque le stock de gaz est plein aux frontières ?

Outils utilisés

  • Terraform : pour mettre en place facilement et rapidement les infrastructures nécessaires

  • Prefect : pour exécuter de façon automatisée des scripts python qui transfèrent les données

  • dbt : pour transformer les données et créer de nouvelles tables à partir des jeux de données originaux

  • Google Cloud Storage : pour le data-lake

  • Google BigQuery : pour le data-warehouse et l’exploration des données (attention à optimiser les requêtes!)

  • Google Looker Studio : pour la visualisation des données / le dashboard

  • Python : pour écrire les différents scripts Prefect

  • SQL : pour écrire les différents modèles dbt

  • Makefile : pour simplifier le processus de déploiement


GitHub

Le dépôt Git contient l’ensemble du code ainsi que des instructions très précises permettant de reproduire le projet.

   Dépôt GitHub du projet

Dashboard

Le but étant de mettre en place le pipeline, je n’ai pas cherché à faire un dashboard très poussé, mais voici un aperçu du résultat:

   Live dashbord

(les données ne sont pas forcement à jours car je ne garde pas le pipeline toujours actif en raison des coûts des différents outils)