SlideShare une entreprise Scribd logo
1  sur  29
Hadoop
LA STACK DE RÉFÉRENCE
Pourquoi
 Nous avons vu la différence entre les deux possibilités de scaling pour
traiter un gros volume de données
 Hadoop a été créé pour traiter un gros volume de données de manière
distribuée
 Doug Cutting travaille chez Google après être passé chez les meilleurs
(Excite, Apple, Xerox, …)
 Il a créé le projet de moteur de recherche Lucene (porté par Apache) (nous
en reparlerons)
 Le premier vrai projet Hadoop est né chez Yahoo (10 000 cœurs !, x10
aujourd’hui)
 Utilisé par Facebook avec 30 Po de données
2
Les pilliers
 Architecturaux :
 Le stockage : HDFS
 La gestion des nœuds et des tâches : YARN
 Le stockage d’objets : Ozone
 Le Traitement : Map Reduce
 Plusieurs distributions plus ou moins open source
 Hortonworks
 Cloudera
 MapR
3
4
HDFS
 Système de stockage de fichiers (Filesystem)
 La manière dont une machine stocke ses fichiers
 Par exemple FAT32 et NTFS pour Windows, ext2, ext3 pour Linux.
 Il en existe un grand nombre en fonction des usages ou des constructeurs de
machines
 Il est :
 Distribué, c’est à dire réparti sur plusieurs machines
 Extensible : on peut l‘étendre à volonté en rajoutant des machines
 Portable : il n’est pas liée à un système d’exploitation
5
Principes
 Stocke de très gros volumes
 Composés de gros fichiers
 Taille mini 64 Mo, à comparer aux 1ko de nos Pc’s
 Il abstrait l’architecture physique de stockage
 Vu par l’utilisateur comme un disque dur unique
6
Architecture
 Deux composants principaux
 Le NameNode, qui sait ou sont rangés les fichiers et qui est unique
 Les DataNode, qui stockent des morceaux de fichiers et qui peuvent les
restituer
7
Namenode
 Deux composants principaux
 Le NameNode, qui sait ou sont rangés les fichiers
 Semble à la FAT (File allocation Table) d’un disque dur
 Il gère l’espace de noms
 Il centralise la répartition des blocs de données dans le cluster
 Il est unique
 SPOF (Single Point Of Failure)
 On peut définir un NameNode secondaire, en cas de panne
8
DataNode
 Stocke et restitue les blocs de données
 En Lecture :
 Le Namenode est interrogé pour localiser les blocs de données
 Pour chaque bloc, il dit quel DataNode est le plus apte (bande passante) à
fournir la réponse
 Réplication
 Permet d’assurer la haute disponibilité
 Périodiquement, les dataNodes indique quels blocs ils détiennent au
NameNode
 Si celui-ci estime que le donnée n’est pas présente dans assez de DataNode, il
met en route une réplication (par défaut trois réplications)
 Mécanisme qui ressemble (de loin) au RAID
9
10
11
12
Inconvénients
 Le NameNode est unique
 Il peut constituer un goulot d’étranglement si l’on accède à beaucoup de petits
fichiers (Hadoop n’est pas fait pour cela, il y a d’autres outils)
 Peut se contourner à l’aide des espaces de noms (NameSpace) qui peuvent être
servis par des NameNode différents
 C’est un SPOF (Single Point Of Failure), même si un basculement manuel vers
une copie est possible
13
YARN (Yet Another Resource Negotiator)
 Une trousse à outils
 Pour gérer les ressources du cluster
 Pour planifier (Scheduling) des tâches (Jobs)
 Est devenu un système d’exploitation distribué
 Supprime la forte dépendance entre HDFS et MapReduce
 On peut dissocier le stockage de l’exploitation des données
 Permet par exemple :
 Des applications interactives
 Le traitement de flux de données
14
YARN
 Resource Manager
 Gestionnaire de ressource global
 Accepte les tâches
 Les planifie
 Leur alloue des ressources
 Node Manager
 Surveille l’état des ressources et transmet au ResourceManager
 Containers de ressources
 Assigne les ressources allouées par le Node Manage à une application
 Autorise les applications opportunistes : elle se lancent quand des
ressources sont disponibles
15
Ozone
 Stockage objet pour HDFS
 Permet de gérer un très grand nombre de petits fichiers
 Outrepasse une limitation classique de HDFS
 Permet de gérer des milliers de nœuds
 Base consistante
 Modèle RAFT (Reliable, Replicated, Redundant and Fault-Tolerant)
 Fiable
 Répliqué
 Redondant
 Tolérant à la panne
 Tests sur https://www.katacoda.com/
16
Zookeeper
 Indispensable pour tous les outils Hadoop
 Peut être utilisé de manière indépendante de Hadoop
 Gestionnaire de configuration pour système distribués
 Haute disponibilité, services redondants
17
Map Reduce
 Un Framework (cadre) de programmation
 Et donc une nouvelle manière de penser les choses
 Une architecture maitre – esclave
 Le système découpe les données pour distribuer les tâches
 On apporte le traitement là ou sont les données, et non l’inverse
 C’est un système tolérant à la panne
 La parallèlisation est cachée à l’utilisateur, il n’a pas à la gérer
 Le processus peut être récursif
 Il travaille en mémoire
18
Map Reduce
 Découpe les tâches en deux opérations
 Map :
 On transforme chaque donnée en une autre
 Sur chaque nœud du cluster
 Reduce
 Le nœuds fond remonter leurs données vers le nœud parent
 Les données sont consolidées par le nœud parent pour fournir la (les) réponse(s)
19
Map Reduce 20
Map
 Le nœud analyse, découpe et délègue
 Associe à un couple (clef, valeur) un autre couple (clef2, valeur2)
21
Map( clef1, valeur1) -> list(clef2, valeur2)
Map (void * Document) {
int cles = 1;
foreach mot in document
Calcul(mot, cles);
}
Reduce
 Le nœud analyse, découpe et délègue
 Associe à un couple (clef, valeur) un autre couple (clef2, valeur2)
22
Reduce( clef2, list(valeur2)) -> valeur3
Reduce(int clefs, Interator values) {
int result = 0;
foreach v in values
result += v;
}
MapReduce et ses limites
 Ne peut être utilisé que par des langages de bas niveau (pas de type SQL p.ex.)
 Pas de gestion des index, donc pertes de performances (les index ont été inventés pour
cela)
 Un seul flot de données
 un jeu de donnée en sortie
 Une seule donnée en sortie
 La tolérance aux pannes et la mise à l’échelle n’optimisent pas les entrées-sorties
 Map et Reduce sont des opérations bloquantes
 i.e. tous les Map() doivent être terminés pour lancer Reduce()
23
Combiner
 On peut améliorer les choses en précalculant sur les nœuds
 P.ex. un maximum existe sur chaque nœud, il y est calculé puis envoyé à
reduce
 Cela permet de transférer moins de données
 Et de moins charger le nœud du reducer
24
Pig
 Un langage pour faire du Map Reduce
 Inspiré de Java
 Peut être aussi utilisé en Python, Javascript, Ruby ou Groovy
25
Pig : un exemple 26
input_lines = LOAD '/tmp/my-copy-of-all-pages-on-internet' AS (line:chararray);
-- Extract words from each line and put them into a pig bag
-- datatype, then flatten the bag to get one word on each
Row_words = FOREACH input_lines GENERATE FLATTEN((line)) AS word;
-- filter out any words that are just white spaces
filtered_words = FILTER words BY word MATCHES 'w+’;
-- create a group for each word
word_groups = GROUP filtered_words BY word;
-- count the entries in each group
word_count = FOREACH word_groups GENERATE (filtered_words) AS , group AS word;
-- order the records by count
ordered_word_count = ORDER word_count BY
DESC; STORE ordered_word_count INTO '/tmp/number-of-words-on-internet';
Hive
 Entrepôt de données
 Utilisateurs
 Développé par Facebook
 Utilisé par Netflix
 En place sur Amazon (un fork, c’est-à-dire Hive + des fonctionnalités ajoutées)
 Permet un requêtage par un langage proche de SQL (Hive Query Language)
 Fonctionnalité ACID
 Pas de transactions
 Indexation « faible »
 En interne, Hive traduit les requêtes
 en Graphe Orienté Acyclique (MapReduce ou Tez)
 En Jobs Spark
27
 Permet d’utiliser Hadoop avec d’autres langages que Java (p.ex. Python)
 Il s’agit d’une API vers MapReduce
 Les interfaces se font à l’aide des entrés-sorties standard Un*x (stdin,
stdout)
 Parfaitement adapté à du traitement par ligne de chaines de caractères
 La sortie de map est un couple clef-valeur séparé par une tabulation
 Hadoop trie les valeurs par clef et les passe à reduce
28
Hadoop streaming
29

Contenu connexe

Tendances

BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
 
Apache Kafka® and the Data Mesh
Apache Kafka® and the Data MeshApache Kafka® and the Data Mesh
Apache Kafka® and the Data MeshConfluentInc1
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesJean-Marc Dupont
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3Amal Abid
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
 
DBpedia Tutorial - Feb 2015, Dublin
DBpedia Tutorial - Feb 2015, DublinDBpedia Tutorial - Feb 2015, Dublin
DBpedia Tutorial - Feb 2015, Dublinm_ackermann
 
Apache Hadoop YARN – Multi-Tenancy, Capacity Scheduler & Preemption - Stamped...
Apache Hadoop YARN – Multi-Tenancy, Capacity Scheduler & Preemption - Stamped...Apache Hadoop YARN – Multi-Tenancy, Capacity Scheduler & Preemption - Stamped...
Apache Hadoop YARN – Multi-Tenancy, Capacity Scheduler & Preemption - Stamped...StampedeCon
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystèmeKhanh Maudoux
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidAmal Abid
 
[EN] Building modern data pipeline with Snowflake + DBT + Airflow.pdf
[EN] Building modern data pipeline with Snowflake + DBT + Airflow.pdf[EN] Building modern data pipeline with Snowflake + DBT + Airflow.pdf
[EN] Building modern data pipeline with Snowflake + DBT + Airflow.pdfChris Hoyean Song
 

Tendances (20)

BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Apache Kafka® and the Data Mesh
Apache Kafka® and the Data MeshApache Kafka® and the Data Mesh
Apache Kafka® and the Data Mesh
 
Integrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data LakesIntegrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data Lakes
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Big data architectures
Big data architecturesBig data architectures
Big data architectures
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de données
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Apache Ranger
Apache RangerApache Ranger
Apache Ranger
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
Présentation bi 1.0
Présentation bi 1.0Présentation bi 1.0
Présentation bi 1.0
 
DBpedia Tutorial - Feb 2015, Dublin
DBpedia Tutorial - Feb 2015, DublinDBpedia Tutorial - Feb 2015, Dublin
DBpedia Tutorial - Feb 2015, Dublin
 
Apache Hadoop YARN – Multi-Tenancy, Capacity Scheduler & Preemption - Stamped...
Apache Hadoop YARN – Multi-Tenancy, Capacity Scheduler & Preemption - Stamped...Apache Hadoop YARN – Multi-Tenancy, Capacity Scheduler & Preemption - Stamped...
Apache Hadoop YARN – Multi-Tenancy, Capacity Scheduler & Preemption - Stamped...
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abid
 
[EN] Building modern data pipeline with Snowflake + DBT + Airflow.pdf
[EN] Building modern data pipeline with Snowflake + DBT + Airflow.pdf[EN] Building modern data pipeline with Snowflake + DBT + Airflow.pdf
[EN] Building modern data pipeline with Snowflake + DBT + Airflow.pdf
 

Similaire à 10 big data hadoop

Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à HadoopCasablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à HadoopBenoît de CHATEAUVIEUX
 
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdfCHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdfYounesOuladSayad1
 
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )Hamza Ben Marzouk
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataArrow Group
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in ParisTed Drake
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureMicrosoft
 
NOTES DE BIG DATA L 3 INFO DUS 2024.pptx
NOTES DE BIG DATA L 3 INFO DUS 2024.pptxNOTES DE BIG DATA L 3 INFO DUS 2024.pptx
NOTES DE BIG DATA L 3 INFO DUS 2024.pptxEddySHANGA
 
Présentation_HADOOP.pptx
Présentation_HADOOP.pptxPrésentation_HADOOP.pptx
Présentation_HADOOP.pptxbely26
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introOlivier Mallassi
 
ch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfsalmanakbi
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Alexis Seigneurin
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introductionfredcons
 
Plongée dans la plateforme hadoop
Plongée dans la plateforme hadoopPlongée dans la plateforme hadoop
Plongée dans la plateforme hadooppkernevez
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - IntroductionBlandine Larbret
 
Spark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairSpark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairAlexis Seigneurin
 

Similaire à 10 big data hadoop (20)

Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à HadoopCasablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdfCHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
 
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
 
Hadoop
HadoopHadoop
Hadoop
 
NOTES DE BIG DATA L 3 INFO DUS 2024.pptx
NOTES DE BIG DATA L 3 INFO DUS 2024.pptxNOTES DE BIG DATA L 3 INFO DUS 2024.pptx
NOTES DE BIG DATA L 3 INFO DUS 2024.pptx
 
Présentation_HADOOP.pptx
Présentation_HADOOP.pptxPrésentation_HADOOP.pptx
Présentation_HADOOP.pptx
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
 
ch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdf
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
Hadoop
HadoopHadoop
Hadoop
 
Plongée dans la plateforme hadoop
Plongée dans la plateforme hadoopPlongée dans la plateforme hadoop
Plongée dans la plateforme hadoop
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015
 
Spark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairSpark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclair
 

Plus de Patrick Bury

16 graph databases
16 graph databases16 graph databases
16 graph databasesPatrick Bury
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azurePatrick Bury
 
14 big data gitlab
14 big data gitlab14 big data gitlab
14 big data gitlabPatrick Bury
 
13 big data docker
13 big data docker13 big data docker
13 big data dockerPatrick Bury
 
08 big data dataviz
08 big data dataviz08 big data dataviz
08 big data datavizPatrick Bury
 
09 big data mapreduce
09 big data mapreduce09 big data mapreduce
09 big data mapreducePatrick Bury
 
06 cloud souverain
06 cloud souverain06 cloud souverain
06 cloud souverainPatrick Bury
 
05 creation instance ovh
05 creation instance ovh05 creation instance ovh
05 creation instance ovhPatrick Bury
 
04 big data fournisseurs
04 big data fournisseurs04 big data fournisseurs
04 big data fournisseursPatrick Bury
 
03 big data stockage
03 big data stockage03 big data stockage
03 big data stockagePatrick Bury
 
03 big data échelle
03 big data échelle03 big data échelle
03 big data échellePatrick Bury
 
02 big data definition
02 big data definition02 big data definition
02 big data definitionPatrick Bury
 
01 big data introduction
01 big data introduction01 big data introduction
01 big data introductionPatrick Bury
 
16 graph databases
16 graph databases16 graph databases
16 graph databasesPatrick Bury
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azurePatrick Bury
 

Plus de Patrick Bury (20)

100 évaluation
100 évaluation100 évaluation
100 évaluation
 
16 graph databases
16 graph databases16 graph databases
16 graph databases
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azure
 
11 big data aws
11 big data aws11 big data aws
11 big data aws
 
14 big data gitlab
14 big data gitlab14 big data gitlab
14 big data gitlab
 
13 big data docker
13 big data docker13 big data docker
13 big data docker
 
08 big data dataviz
08 big data dataviz08 big data dataviz
08 big data dataviz
 
12 big data azure
12 big data azure12 big data azure
12 big data azure
 
09 big data mapreduce
09 big data mapreduce09 big data mapreduce
09 big data mapreduce
 
07 big data sgbd
07 big data sgbd07 big data sgbd
07 big data sgbd
 
06 cloud souverain
06 cloud souverain06 cloud souverain
06 cloud souverain
 
05 creation instance ovh
05 creation instance ovh05 creation instance ovh
05 creation instance ovh
 
04 big data fournisseurs
04 big data fournisseurs04 big data fournisseurs
04 big data fournisseurs
 
03 big data stockage
03 big data stockage03 big data stockage
03 big data stockage
 
03 big data échelle
03 big data échelle03 big data échelle
03 big data échelle
 
02 big data definition
02 big data definition02 big data definition
02 big data definition
 
01 open data
01 open data01 open data
01 open data
 
01 big data introduction
01 big data introduction01 big data introduction
01 big data introduction
 
16 graph databases
16 graph databases16 graph databases
16 graph databases
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azure
 

Dernier

Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 

Dernier (20)

Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 

10 big data hadoop

  • 1. Hadoop LA STACK DE RÉFÉRENCE
  • 2. Pourquoi  Nous avons vu la différence entre les deux possibilités de scaling pour traiter un gros volume de données  Hadoop a été créé pour traiter un gros volume de données de manière distribuée  Doug Cutting travaille chez Google après être passé chez les meilleurs (Excite, Apple, Xerox, …)  Il a créé le projet de moteur de recherche Lucene (porté par Apache) (nous en reparlerons)  Le premier vrai projet Hadoop est né chez Yahoo (10 000 cœurs !, x10 aujourd’hui)  Utilisé par Facebook avec 30 Po de données 2
  • 3. Les pilliers  Architecturaux :  Le stockage : HDFS  La gestion des nœuds et des tâches : YARN  Le stockage d’objets : Ozone  Le Traitement : Map Reduce  Plusieurs distributions plus ou moins open source  Hortonworks  Cloudera  MapR 3
  • 4. 4
  • 5. HDFS  Système de stockage de fichiers (Filesystem)  La manière dont une machine stocke ses fichiers  Par exemple FAT32 et NTFS pour Windows, ext2, ext3 pour Linux.  Il en existe un grand nombre en fonction des usages ou des constructeurs de machines  Il est :  Distribué, c’est à dire réparti sur plusieurs machines  Extensible : on peut l‘étendre à volonté en rajoutant des machines  Portable : il n’est pas liée à un système d’exploitation 5
  • 6. Principes  Stocke de très gros volumes  Composés de gros fichiers  Taille mini 64 Mo, à comparer aux 1ko de nos Pc’s  Il abstrait l’architecture physique de stockage  Vu par l’utilisateur comme un disque dur unique 6
  • 7. Architecture  Deux composants principaux  Le NameNode, qui sait ou sont rangés les fichiers et qui est unique  Les DataNode, qui stockent des morceaux de fichiers et qui peuvent les restituer 7
  • 8. Namenode  Deux composants principaux  Le NameNode, qui sait ou sont rangés les fichiers  Semble à la FAT (File allocation Table) d’un disque dur  Il gère l’espace de noms  Il centralise la répartition des blocs de données dans le cluster  Il est unique  SPOF (Single Point Of Failure)  On peut définir un NameNode secondaire, en cas de panne 8
  • 9. DataNode  Stocke et restitue les blocs de données  En Lecture :  Le Namenode est interrogé pour localiser les blocs de données  Pour chaque bloc, il dit quel DataNode est le plus apte (bande passante) à fournir la réponse  Réplication  Permet d’assurer la haute disponibilité  Périodiquement, les dataNodes indique quels blocs ils détiennent au NameNode  Si celui-ci estime que le donnée n’est pas présente dans assez de DataNode, il met en route une réplication (par défaut trois réplications)  Mécanisme qui ressemble (de loin) au RAID 9
  • 10. 10
  • 11. 11
  • 12. 12
  • 13. Inconvénients  Le NameNode est unique  Il peut constituer un goulot d’étranglement si l’on accède à beaucoup de petits fichiers (Hadoop n’est pas fait pour cela, il y a d’autres outils)  Peut se contourner à l’aide des espaces de noms (NameSpace) qui peuvent être servis par des NameNode différents  C’est un SPOF (Single Point Of Failure), même si un basculement manuel vers une copie est possible 13
  • 14. YARN (Yet Another Resource Negotiator)  Une trousse à outils  Pour gérer les ressources du cluster  Pour planifier (Scheduling) des tâches (Jobs)  Est devenu un système d’exploitation distribué  Supprime la forte dépendance entre HDFS et MapReduce  On peut dissocier le stockage de l’exploitation des données  Permet par exemple :  Des applications interactives  Le traitement de flux de données 14
  • 15. YARN  Resource Manager  Gestionnaire de ressource global  Accepte les tâches  Les planifie  Leur alloue des ressources  Node Manager  Surveille l’état des ressources et transmet au ResourceManager  Containers de ressources  Assigne les ressources allouées par le Node Manage à une application  Autorise les applications opportunistes : elle se lancent quand des ressources sont disponibles 15
  • 16. Ozone  Stockage objet pour HDFS  Permet de gérer un très grand nombre de petits fichiers  Outrepasse une limitation classique de HDFS  Permet de gérer des milliers de nœuds  Base consistante  Modèle RAFT (Reliable, Replicated, Redundant and Fault-Tolerant)  Fiable  Répliqué  Redondant  Tolérant à la panne  Tests sur https://www.katacoda.com/ 16
  • 17. Zookeeper  Indispensable pour tous les outils Hadoop  Peut être utilisé de manière indépendante de Hadoop  Gestionnaire de configuration pour système distribués  Haute disponibilité, services redondants 17
  • 18. Map Reduce  Un Framework (cadre) de programmation  Et donc une nouvelle manière de penser les choses  Une architecture maitre – esclave  Le système découpe les données pour distribuer les tâches  On apporte le traitement là ou sont les données, et non l’inverse  C’est un système tolérant à la panne  La parallèlisation est cachée à l’utilisateur, il n’a pas à la gérer  Le processus peut être récursif  Il travaille en mémoire 18
  • 19. Map Reduce  Découpe les tâches en deux opérations  Map :  On transforme chaque donnée en une autre  Sur chaque nœud du cluster  Reduce  Le nœuds fond remonter leurs données vers le nœud parent  Les données sont consolidées par le nœud parent pour fournir la (les) réponse(s) 19
  • 21. Map  Le nœud analyse, découpe et délègue  Associe à un couple (clef, valeur) un autre couple (clef2, valeur2) 21 Map( clef1, valeur1) -> list(clef2, valeur2) Map (void * Document) { int cles = 1; foreach mot in document Calcul(mot, cles); }
  • 22. Reduce  Le nœud analyse, découpe et délègue  Associe à un couple (clef, valeur) un autre couple (clef2, valeur2) 22 Reduce( clef2, list(valeur2)) -> valeur3 Reduce(int clefs, Interator values) { int result = 0; foreach v in values result += v; }
  • 23. MapReduce et ses limites  Ne peut être utilisé que par des langages de bas niveau (pas de type SQL p.ex.)  Pas de gestion des index, donc pertes de performances (les index ont été inventés pour cela)  Un seul flot de données  un jeu de donnée en sortie  Une seule donnée en sortie  La tolérance aux pannes et la mise à l’échelle n’optimisent pas les entrées-sorties  Map et Reduce sont des opérations bloquantes  i.e. tous les Map() doivent être terminés pour lancer Reduce() 23
  • 24. Combiner  On peut améliorer les choses en précalculant sur les nœuds  P.ex. un maximum existe sur chaque nœud, il y est calculé puis envoyé à reduce  Cela permet de transférer moins de données  Et de moins charger le nœud du reducer 24
  • 25. Pig  Un langage pour faire du Map Reduce  Inspiré de Java  Peut être aussi utilisé en Python, Javascript, Ruby ou Groovy 25
  • 26. Pig : un exemple 26 input_lines = LOAD '/tmp/my-copy-of-all-pages-on-internet' AS (line:chararray); -- Extract words from each line and put them into a pig bag -- datatype, then flatten the bag to get one word on each Row_words = FOREACH input_lines GENERATE FLATTEN((line)) AS word; -- filter out any words that are just white spaces filtered_words = FILTER words BY word MATCHES 'w+’; -- create a group for each word word_groups = GROUP filtered_words BY word; -- count the entries in each group word_count = FOREACH word_groups GENERATE (filtered_words) AS , group AS word; -- order the records by count ordered_word_count = ORDER word_count BY DESC; STORE ordered_word_count INTO '/tmp/number-of-words-on-internet';
  • 27. Hive  Entrepôt de données  Utilisateurs  Développé par Facebook  Utilisé par Netflix  En place sur Amazon (un fork, c’est-à-dire Hive + des fonctionnalités ajoutées)  Permet un requêtage par un langage proche de SQL (Hive Query Language)  Fonctionnalité ACID  Pas de transactions  Indexation « faible »  En interne, Hive traduit les requêtes  en Graphe Orienté Acyclique (MapReduce ou Tez)  En Jobs Spark 27
  • 28.  Permet d’utiliser Hadoop avec d’autres langages que Java (p.ex. Python)  Il s’agit d’une API vers MapReduce  Les interfaces se font à l’aide des entrés-sorties standard Un*x (stdin, stdout)  Parfaitement adapté à du traitement par ligne de chaines de caractères  La sortie de map est un couple clef-valeur séparé par une tabulation  Hadoop trie les valeurs par clef et les passe à reduce 28 Hadoop streaming
  • 29. 29