summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2026-02-16 11:37:31 +0100
committerMartial Simon <msimon_fr@hotmail.com>2026-02-16 11:37:31 +0100
commit8826cba4b92532cb622baffbb206d826661a5cfc (patch)
tree8e6fb0b9407ad61d94ba75c83f9dcce140725644
parent1a1b7b78abd3c06b1fa0a9294d66339852733c70 (diff)
feat: CM1 BDA
-rw-r--r--BDA/CM1.md53
-rw-r--r--BDA/intro.md3
-rw-r--r--BDA/tp.py7
-rw-r--r--BDA/tpsuite.py13
4 files changed, 76 insertions, 0 deletions
diff --git a/BDA/CM1.md b/BDA/CM1.md
new file mode 100644
index 0000000..7805305
--- /dev/null
+++ b/BDA/CM1.md
@@ -0,0 +1,53 @@
+# Définition de Big Data
+ On parle de Big Data quand on parle de données qui ont besoin de plusieurs machines pour être stockées
+
+- **Volume** : quantité de données
+- **Velocité** : Vitesse de génération, transmission et traitement des données
+- **Variété** : Données sous différents formats (texte, image, vidéo...)
+ - Structurées : BDD SQL
+ - Semi-Structurées : JSON, XML
+ - Non-Structurées : Images, vidéos, audio, texte...
+- **Véracité** : qualité, fiabilité, bruit
+- **Valeur** : Capacité à extraire de la valeur exploitable des données
+
+
+# Apache Hadoop
+- Composants principalement en Java
+- V1 en 2006
+- Inspiré de Google MapReduce
+- Insipiré par Google FileSystem (GFS)
+
+Permet :
+- Scalabilité
+- Tolérance aux pannes
+- Haute disponibilité
+- Cache distribué et localité des données
+- Rentabilité (pas besoin de matériel haut de gamme)
+- Fournit une abstraction efficace du matériel sous-jacent
+- Interfaçage SQL (ex: Cassandra)
+
+# Propriétés d'un SGBD
+- Consistence : Données récupérées correctes
+- Disponibilité : Données récupérables tout le temps
+- Tolérance aux pannes
+Théorème de ?? : Un SGBD peut satisfaire au plus 2 des 3 propriétés
+
+# HDFS
+- Système de fichiers distribué
+- Organisation en arbre
+- L'utilisateur voit une système de fichiers Unix
+- Blocs de taille fixe (64Mo ou 128Mo)
+- Les blocs d'un fichier sont stockés et répliqués sur plusieurs machines
+- Réplication permet d'accéder simultanément au fichier par plusieurs personnes et de se prémunir contre les pannes
+Architecture master-slave :
+- Maître = name node contient et stocke tous les nom et blocs des fichiers ainsi que leur localisation => annuaire
+- Secondary name node => name node de secours, fait des sauvegardes régulières
+- data nodes = noeuds de stockage
+
+# MapReduce
+Inspiré de diviser pour régner
+2 opérations :
+- Map (même op sur toutes les machines)
+- Reduce (remontée des résultats pour combinaison)
+
+Paradigme à part entière
diff --git a/BDA/intro.md b/BDA/intro.md
new file mode 100644
index 0000000..4edfc96
--- /dev/null
+++ b/BDA/intro.md
@@ -0,0 +1,3 @@
+1ère séance : Hadoop, HDFS
+
+Gestion de données massives, stockage, traitement
diff --git a/BDA/tp.py b/BDA/tp.py
new file mode 100644
index 0000000..9ace7e3
--- /dev/null
+++ b/BDA/tp.py
@@ -0,0 +1,7 @@
+from hdfs import InsecureClient
+client = InsecureClient('http://localhost:9870')
+
+with open('arbres.csv') as reader, client.write('/user/root/arbres.csv') as writer:
+ for line in reader:
+ writer.write(line)
+
diff --git a/BDA/tpsuite.py b/BDA/tpsuite.py
new file mode 100644
index 0000000..c8447f2
--- /dev/null
+++ b/BDA/tpsuite.py
@@ -0,0 +1,13 @@
+from hdfs import InsecureClient
+client = InsecureClient('http://localhost:9870')
+
+# Affichage
+with open('arbres.csv') as reader:
+ for line in reader:
+ print(line)
+
+# ls
+for file in client.list('/user/root/dossier'):
+ print(file)
+
+client.delete('arbres.csv')