SlideShare une entreprise Scribd logo
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_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
Lilia Sfaxi
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
Amal Abid
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3
Amal Abid
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
Technologies pour le Big Data
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
Minyar Sassi Hidri
 
Introduction au BIG DATA
Introduction au BIG DATAIntroduction au BIG DATA
Introduction au BIG DATA
Zakariyaa AIT ELMOUDEN
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
Amal Abid
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
Mouna Torjmen
 
Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture
Lilia Sfaxi
 
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
Vincent de Stoecklin
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
Lilia Sfaxi
 
Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019
Aziz Darouichi
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
Lilia Sfaxi
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
Lilia Sfaxi
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
Alexia Audevart
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
Amal Abid
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
Lilia Sfaxi
 
Big data : défis & technologies
Big data : défis & technologiesBig data : défis & technologies
Big data : défis & technologies
Mohamed Ramzi Haddad
 
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
Jean-Michel Franco
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
Donia Hammami
 

Tendances (20)

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
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Technologies pour le Big Data
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
 
Introduction au BIG DATA
Introduction au BIG DATAIntroduction au BIG DATA
Introduction au BIG DATA
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture
 
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
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Big data : défis & technologies
Big data : défis & technologiesBig data : défis & technologies
Big data : défis & technologies
 
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
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
 

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 à Hadoop
Benoî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).pdf
YounesOuladSayad1
 
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
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
Arrow-Institute
 
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
Arrow Group
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
Ted 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 Azure
Microsoft
 
Hadoop
HadoopHadoop
Hadoop
AS Stitou
 
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
EddySHANGA
 
Présentation_HADOOP.pptx
Présentation_HADOOP.pptxPrésentation_HADOOP.pptx
Présentation_HADOOP.pptx
bely26
 
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).pdf
salmanakbi
 
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
 
Hadoop
HadoopHadoop
Hadoop
kamar MEDDAH
 
Plongée dans la plateforme hadoop
Plongée dans la plateforme hadoopPlongée dans la plateforme hadoop
Plongée dans la plateforme hadoop
pkernevez
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
Blandine 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'éclair
Alexis Seigneurin
 
Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)
Alexis 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
 
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 )
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
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
 
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
 
Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)
 

Plus de Patrick Bury

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

Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024
contact Elabe
 
Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024
contact Elabe
 
Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024
contact Elabe
 
Productivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointementProductivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointement
La Fabrique de l'industrie
 
Les Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vagueLes Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vague
contact Elabe
 
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
contact Elabe
 
Webinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptxWebinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptx
Institut de l'Elevage - Idele
 
Estimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABEEstimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABE
contact Elabe
 
Les Français et les élections législatives
Les Français et les élections législativesLes Français et les élections législatives
Les Français et les élections législatives
contact Elabe
 
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
contact Elabe
 
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
contact Elabe
 
L'Observatoire politique ELABE pour Les Echos - Juin 2024
L'Observatoire politique ELABE pour Les Echos - Juin 2024L'Observatoire politique ELABE pour Les Echos - Juin 2024
L'Observatoire politique ELABE pour Les Echos - Juin 2024
contact Elabe
 

Dernier (12)

Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024
 
Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024
 
Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024
 
Productivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointementProductivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointement
 
Les Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vagueLes Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vague
 
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
 
Webinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptxWebinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptx
 
Estimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABEEstimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABE
 
Les Français et les élections législatives
Les Français et les élections législativesLes Français et les élections législatives
Les Français et les élections législatives
 
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
 
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
 
L'Observatoire politique ELABE pour Les Echos - Juin 2024
L'Observatoire politique ELABE pour Les Echos - Juin 2024L'Observatoire politique ELABE pour Les Echos - Juin 2024
L'Observatoire politique ELABE pour Les Echos - Juin 2024
 

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