{"id":21423134,"url":"https://github.com/diiblo/big_data_project","last_synced_at":"2026-04-13T16:01:27.236Z","repository":{"id":263912145,"uuid":"891751450","full_name":"diiblo/Big_data_project","owner":"diiblo","description":"Ce projet met en œuvre une architecture Big Data basée sur une topologie maître-esclaves (1 maître, 2 esclaves). Le traitement des données est effectué via Jupyter Notebook, PySpark et Spark, tandis que PostgreSQL est utilisé comme base de données pour le stockage.","archived":false,"fork":false,"pushed_at":"2024-12-07T00:47:24.000Z","size":18,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T20:25:48.036Z","etag":null,"topics":["bigdata","docker","jupyter-notebook","postgresql","powerbi","spark"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/diiblo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-20T22:23:05.000Z","updated_at":"2025-03-10T22:30:39.000Z","dependencies_parsed_at":"2024-11-21T00:26:53.678Z","dependency_job_id":"a319c825-3755-4dd3-bf26-da0a7e94b8aa","html_url":"https://github.com/diiblo/Big_data_project","commit_stats":null,"previous_names":["diiblo/big_data_project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/diiblo/Big_data_project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diiblo%2FBig_data_project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diiblo%2FBig_data_project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diiblo%2FBig_data_project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diiblo%2FBig_data_project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diiblo","download_url":"https://codeload.github.com/diiblo/Big_data_project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diiblo%2FBig_data_project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31759540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bigdata","docker","jupyter-notebook","postgresql","powerbi","spark"],"created_at":"2024-11-22T21:14:14.859Z","updated_at":"2026-04-13T16:01:27.218Z","avatar_url":"https://github.com/diiblo.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projet Big Data : Topologie Maître-Esclaves avec Jupyter Notebook, PySpark, Spark et PostgreSQL\n\nCe projet met en œuvre une architecture Big Data basée sur une topologie maître-esclaves (1 maître, 2 esclaves). Le traitement des données est effectué via Jupyter Notebook, PySpark et Spark, tandis que PostgreSQL est utilisé comme base de données pour le stockage.\n\n## Objectifs du projet\n\n1. Configurer un cluster Spark avec une topologie maître-esclaves.\n2. Utiliser une image Docker personnalisée contenant Jupyter Notebook, PySpark, Spark et un connecteur Java pour PostgreSQL.\n3. Connecter PostgreSQL au niveau de Jupyter Notebook du cluster maître .\n4. Réaliser un traitement de données avec PySpark.\n5. Stocker les résultats dans deux nouvelles tables PostgreSQL.\n\n---\n\n## Structure du projet\n\nLe projet est organisé en plusieurs étapes décrites dans les fichiers suivants :\n\n### 1. [Conteneur_perso.md](./1-Conteneur_perso.md)\n\n- **Objectif** : Télécharger et personnaliser une image Docker.\n- **Contenu** :\n  - Explications pour télécharger une image de base contenant Jupyter Notebook, PySpark et Spark.\n  - Instructions pour personnaliser l'image en ajoutant un connecteur Java pour PostgreSQL et d'autres outils utiles.\n\n### 2. [Config_cluster.md](./2-Config_cluster.md)\n\n- **Objectif** : Configurer un cluster Spark avec une topologie maître-esclaves.\n- **Contenu** :\n  - Instructions pour créer et lancer des conteneurs Docker à partir de l'image personnalisée.\n  - Configuration des conteneurs pour établir une topologie de cluster avec un maître et deux esclaves.\n\n### 3. [Projet_pratique.md](./3-Projet_pratique.md)\n\n- **Objectif** : Mettre en pratique le traitement des données.\n- **Contenu** :\n  - Exemple de script PySpark exécuté dans Jupyter Notebook pour traiter des données.\n  - Explications sur l'utilisation de PostgreSQL pour stocker les résultats dans deux nouvelles tables.\n\n---\n\n## Prérequis\n\n1. **Docker** : Assurez-vous que Docker est installé et opérationnel.\n2. **PostgreSQL** : Une instance PostgreSQL doit être configurée pour recevoir les résultats.\n3. **Images Docker nécessaires** : Une image de base contenant Jupyter Notebook, PySpark et Spark est requise (voir [Conteneur_perso.md](./1-Conteneur_perso.md)).\n\n---\n\n## Instructions de déploiement\n\n### Étape 1 : Créer l'image Docker personnalisée\n\nSuivez les instructions dans [Conteneur_perso.md](./1-Conteneur_perso.md) pour créer une image Docker personnalisée.\n\n### Étape 2 : Configurer le cluster\n\nConfigurez et démarrez votre cluster Spark avec les conteneurs Docker personnalisés en suivant les instructions dans [Config_cluster.md](./2-Config_cluster.md).\n\n### Étape 3 : Effectuer le traitement des données\n\nUtilisez Jupyter Notebook pour exécuter le script PySpark décrit dans [Projet_pratique.md](./3-Projet_pratique.md). Les résultats seront stockés dans PostgreSQL.\n\n---\n\n## Technologies utilisées\n\n- **Jupyter Notebook** : Interface interactive pour écrire et exécuter des scripts.\n- **PySpark et Spark** : Pour le traitement distribué des données.\n- **PostgreSQL** : Base de données relationnelle pour le stockage.\n- **Docker** : Conteneurisation des outils pour une gestion simplifiée.\n\n---\n\n## Auteur\n\n**Moctarr Basiru King Rahman**  \nÉtudiant en Mastère Data Engineering à l'ECE Paris  \n[LinkedIn](https://www.linkedin.com/in/moctarr-basiru-king-rahman-7337a5214) | [Email](mailto:moctarrbasiru.kingrahman@edu.ece.fr)\n\n---\n\n## Licence\n\nCe projet est distribué sous la licence [MIT](./LICENSE). Vous êtes libre de l'utiliser, de le modifier et de le distribuer.\n\n---\n\n## Remarque\n\nSi vous rencontrez des problèmes ou avez des questions, n'hésitez pas à ouvrir une *issue* dans ce dépôt ou à me contacter directement.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiiblo%2Fbig_data_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiiblo%2Fbig_data_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiiblo%2Fbig_data_project/lists"}