diff options
Diffstat (limited to 'BDA')
| -rw-r--r-- | BDA/CM1.md | 53 | ||||
| -rw-r--r-- | BDA/intro.md | 3 | ||||
| -rw-r--r-- | BDA/tp.py | 7 | ||||
| -rw-r--r-- | BDA/tpsuite.py | 13 |
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') |
