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
 
TP2 Big Data HBase
TP2 Big Data HBaseTP2 Big Data HBase
TP2 Big Data HBaseAmal Abid
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3Amal Abid
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4JLilia Sfaxi
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6Amal Abid
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & SparkAlexia Audevart
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introductionMouna Torjmen
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - IntroductionBlandine Larbret
 
Big data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-businessBig data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-businessVincent de Stoecklin
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsMICHRAFY MUSTAFA
 
Big Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendancesBig Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendancesJean-Michel Franco
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxLaurent Broudoux
 
Construisez votre première application MongoDB
Construisez votre première application MongoDBConstruisez votre première application MongoDB
Construisez votre première application MongoDBMongoDB
 

Tendances (20)

Technologies pour le Big Data
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
TP2 Big Data HBase
TP2 Big Data HBaseTP2 Big Data HBase
TP2 Big Data HBase
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4J
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Big data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-businessBig data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-business
 
Data Lake
Data LakeData Lake
Data Lake
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & Actions
 
Big Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendancesBig Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendances
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
 
Construisez votre première application MongoDB
Construisez votre première application MongoDBConstruisez votre première application MongoDB
Construisez votre première application MongoDB
 

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
 
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
 
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
 
Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Alexis Seigneurin
 
Hadoop et son écosystème - v2
Hadoop et son écosystème - v2Hadoop et son écosystème - v2
Hadoop et son écosystème - v2Khanh Maudoux
 

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
 
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
 
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
 
Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)
 
Hadoop et son écosystème - v2
Hadoop et son écosystème - v2Hadoop et son écosystème - v2
Hadoop et son écosystème - v2
 

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

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 

Dernier (18)

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 

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