-
Entreprise : DataSoluTech
- Fournisseur de services informatiques pour les entreprises
- Aide les entreprises à trouver des solutions pour gérer leurs données éfficacement
-
Stagiaire Data Engineer
-
Context: Migration de données médicales d’un dataset CSV vers MongoDB dans un environnement Dockerisé.
Automatiser l’importation des données pour améliorer la scalabilité et la performance du système de stockage. Pour cela un script bash migrate_to_mongo.sh est fourni.
Ce projet automatise la migration d’un jeu de données CSV (patients.csv) vers une base de données MongoDB hébergée dans un conteneur Docker.
- Docker Compose lance MongoDB dans un conteneur.
- Le script migrate_to_mongo.sh :
- attend que MongoDB démarre ;
- utilise
mongoimportpour insérer les données du CSV dans la collectionpatients.
Base : medical_data
Collection : patients
Champ Type Description _id ObjectId Identifiant unique MongoDB Name string Nom complet du patient Age int Âge du patient Gender string Sexe du patient Blood Type string Groupe sanguin Medical Condition string Diagnostic principal Date of Admission date Date d’admission Doctor string Médecin responsable Hospital string Établissement hospitalier Insurance Provider string Assurance maladie Billing Amount float Montant facturé Room Number int Numéro de chambre Admission Type string Type d’admission (ex: Urgent) Discharge Date date Date de sortie Medication string Médicament prescrit Test Results string Résultat des tests
- Utilisateur admin
- Nom :
admin - Mot de passe :
admin123 - Rôle :
root
- Nom :
docker-compose.yml migrate_to_mongo.sh data/patients.csv mongo_data/
-
Authentification MongoDB activée (MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD)
-
Pas d’exposition d’accès direct hors du réseau local
-
Volumes persistants pour éviter la perte de données
./migrate_to_mongo.sh
55 500 documents importés avec succès dans la collection patients de la base medical_data.
docker exec -it mongo_server mongosh -u admin -p admin123 use medical_data db.patients.countDocuments() db.patients.findOne()