Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

PARTIE PRATIQUE

INTRODUCTION

CETTE PARTIE A POUR BUT D'IMPLÉMENTER UN


PATTERN COURANT EN MAPREDUCE : LE "TOP-K".
IL SERT À TROUVER LES K PLUS GRANDS ÉLÉMENTS
D'UN ENSEMBLE.

L'OBJECTIF EST DE RÉCUPÉRER LES K VILLES LES


PLUS PEUPLÉES À PARTIR DU FICHIER
W O R L D C I T I E S P O P . TX T D É J À U T I L I S É D A N S L E S T P S

AINSI, DANS CETTE PARTIE ON VA INTRODUIRE DEUX


N O U V E L L E S F O N C T I O N S : C L E A N U P ET S E T U P .
1ER PARTIE: UTILITÉ
L e s mé tho de s ma p e t r e duce de M a p R e duce o nt une
l imit a t io n , c ' e s t - à - dir e que la mé tho de m a p ( ) ne
tr a i te qu ' une l igne à la fo i s , ta ndis que la mé tho de
r e d u c e ( ) ne tr a i te qu ' un gr o up e à la fo i s . E t r e d u c e
é cr i t gé né r a le me nt le r é s ulta t a pr è s le tr a i te me nt de
cha que e ns e mbl e de do nné e s .

M a i s pa r fo i s , v o us v o ule z s o r t i r s e ule me nt une pa r t ie


du r é s ulta t .

P a r e x e m p le , da ns le pr o gr a mm e W o r d c o u n t , v o us
s o uha i te z s o r t i r le s info r ma t io ns s ta t i s t ique s de s tr o i s
pr e mie r s mo ts . À ce s ta de , v o us po uv e z ut i l is e r la
mé th o de c l e a n u p ( ) po ur y pa r v e nir .

L a mé th o de s e t u p ( ) e t la mé tho de c l e a n u p ( ) ne fo nt
r ie n pa r dé fa ut e t ne s o nt e x é cut é e s qu ' une s e ule
fo i s .

C e pe nda nt , la mé tho de s e tup ( ) e f fe ctue


gé né r a le me nt un tr a v a i l de pr é pa r a t io n a v a nt la
fo nct io n de ma p ( ) , co mme ce r ta ine s info r ma t io ns de
co nf i g u r a t io n du tr a v a i l .
la mé tho de C l e a n u p ( ) e s t f ina le me nt e x é cut é e une
fo i s la mé tho de de ma ppa ge e s t te r min é e . C e tte
mé tho de co ns i s te à e f fe ctue r ce r ta ins tr a v a ux de
ne tto y a ge , te l s qu e : L a s u p p r e s s io n de qu e lq u e s pa i r s
c lé - v a le ur e tc . . .

S i v o us de v e z e f fe ctue r de s tr a v a ux de co nf i gur a t io n
e t de ne tto y a ge , v o us de v e z r é é cr i r e da ns la s o us -
c la s s e M a ppe r / R e duce r po ur impl é me nte r la fo nct io n
co r r e s po nda nte . L a mé tho de ma p s e r a
r é impl é me nté e da ns la s o us - c la s s e co r r e s po nda nte ,
qui e s t no tr e mé tho de ma p pe r s o nna l i s é e .

s e t u p ( ) : ce tte mé tho de n ' e s t e x é cu t é e qu ' un e s e ule


fo i s pa r le f r a me wo r k M a p R e duce . A v a nt l ' e x é cut io n
de la tâ che M a p , l ' in it i a l i s a t io n ce ntr a l i s é e de s
v a r i a ble s o u de s r e s s o ur ce s a s s o c ié e s e s t e f fe ct u é e . S i
le tr a v a i l d ' in i t ia l i s a t io n de s r e s s o ur ce s e s t pla cé da ns
la mé tho de ma p ( ) , la tâ che M a ppe r e f fe ctue r a le
tr a v a i l d ' in i t i a l i s a t io n de s r e s s o ur ce s lo r s de l ' a na l y s e
de cha que l igne d ' e ntr é e , e ntr a îna nt une du p l i c a t io n ,
e t le pr o gr a mme s ' e x é cute r a de ma niè r e ine f f i ca ce !
c l e a n u p ( ) : ce tte mé tho de n ' e s t e x é cut é e qu ' une
s e ule fo i s pa r le f r a me wo r k M a p R e duce . U ne fo i s la
tâ ch e M a p e x é cu t é e , le s v a r i a ble s o u r e s s o ur ce s
pe r t ine nte s s o nt l ibé r é e s . S i v o us me tte z le tr a v a i l de
l ibé r a t io n de s r e s s o ur ce s da ns la mé tho de ma p ( ) , la
tâ che M a ppe r l ibé r e r a é ga le me nt de s r e s s o ur ce s
a pr è s l ' a na l y s e e t le tr a i te me nt de cha que l igne de
te x te , e t e l le s e r a é ga le me nt in i t ia l i s é e à plus ie ur s
r e pr i s e s a v a nt que la l igne de te x te s uiv a nte ne s o i t
a na l y s é e , ce qui e ntr a îne de s r é pé t i t io ns r é pé té e s e t
le pr o gr a mme fo nct io nne de ma niè r e ine f f i ca ce !
3EME PARTIE:
PROCESSUS
SOLUTION PROOPOSÉE :

P o ur r é s o udr e ce pr o blè me o n ut il i s e la s tr uct ur e de


do nn é e s T r e e M a p . I c i , l ' id é e e s t d ' u t i l i s e r de s
M a ppe r s po ur tr o uv e r le s 1 0 pr e mie r s e nr e gis tr e me nts
lo ca ux , ca r i l pe ut y a v o i r de no mbr e ux M a ppe r s
fo nct io nna nt e n pa r a l lè le s ur di ff é r e nts blo cs de
do nné e s d ' un f i chie r . E t puis to us ce s 1 0 pr e mie r s
e nr e gis tr e me nts lo ca ux s e r o nt a gr é gé s da ns R e duce r
o ù no us tr o uv o ns le s 1 0 pr e mie r s e nr e gis tr e me nts
mo ndia ux po ur le f i chie r .

E x e mple : s uppo s o ns que le f i chie r


w o r l d c i t i e s p o p . txt e s t div i s é e n 3 blo cs e t qu e
cha que blo c e s t tr a i té pa r un ma ppe r e n pa r a l lè le
a f in que no us tr o uv io ns le s 1 0 pr e mie r s
e nr e gis tr e me nts ( lo ca ux ) po ur ce blo c . E ns uite , ce s
do nné e s s e dé pla ce nt v e r s le r e duce r o ù no us
tr o uv o ns le s 1 0 pr e mie r s e nr e gis tr e me nts r é e l s
( glo ba ux ) du f i ch ie r w o r l d c i t i e s p o p . t x t .
worldcitiespop.txt

3EME PARTIE:
PROCESSUS
Voici un graph qui illusre notre solution proposée :
3EME PARTIE:
PROCESSUS
SOLUTION PROOPOSÉE :

P o ur r é s o udr e ce pr o blè me o n ut il i s e la s tr uct ur e de


do nn é e s T r e e M a p . I c i , l ' id é e e s t d ' u t i l i s e r de s
M a ppe r s po ur tr o uv e r le s 1 0 pr e mie r s e nr e gis tr e me nts
lo ca ux , ca r i l pe ut y a v o i r de no mbr e ux M a ppe r s
fo nct io nna nt e n pa r a l lè le s ur di ff é r e nts blo cs de
do nné e s d ' un f i chie r . E t puis to us ce s 1 0 pr e mie r s
e nr e gis tr e me nts lo ca ux s e r o nt a gr é gé s da ns R e duce r
o ù no us tr o uv o ns le s 1 0 pr e mie r s e nr e gis tr e me nts
mo ndia ux po ur le f i chie r .

E x e mple : s uppo s o ns que le f i chie r


w o r l d c i t i e s p o p . txt e s t div i s é e n 3 blo cs e t qu e
cha que blo c e s t tr a i té pa r un ma ppe r e n pa r a l lè le
a f in que no us tr o uv io ns le s 1 0 pr e mie r s
e nr e gis tr e me nts ( lo ca ux ) po ur ce blo c . E ns uite , ce s
do nné e s s e dé pla ce nt v e r s le r e duce r o ù no us
tr o uv o ns le s 1 0 pr e mie r s e nr e gis tr e me nts r é e l s
( glo ba ux ) du f i ch ie r w o r l d c i t i e s p o p . t x t .
3EME PARTIE:
PROCESSUS
LA PARTIE DU MAPPER :

P r e mie r e me nt o n in i t ia l i s e no tr e s tr uct ur e de
do nn é e s a v e c la fo n c t io n s e t u p ( ) , ce tte fo n c t i o n s e r a
e x é cut é e une s e ul fo i s . P uis da ns la fo nct io n ma p , o n
s p lit le s do nn é e s s é pa r é e s pa r de s " , " po ur e x tr a i r e le
no m de la v i l le e t la po pula t io n . bie n s ur o n do i t
e x c lur e le s v i l le s s a ns po pu la t io n .
L e no m de la v i l le e s t da ns l ' in di ce 1 e t le no mbr e de
po pula t io n e s t da ns l ' in di ce 4 .

O n ins è r e ce s do nné e s da ns no tr e tr e e ma p te l que :


la c lé = no mbr e de po pula t io n
la v a le ur : no m de la v i l le

le s do nné e s da ns un T r e e M a p s o nt tr ié s da ns un o r dr e
cr o i s s a nt do nc le plus pe t i t é lé me nt e s t le pr e mie r
é lé me nt
o n po s e la co ndi t i o n s uiv a nte ( s i la ta i l le du T r e e M a p
a dé pa s s é 1 0 o n s uppr ime le pr e mie r é lé me nt qui e s t
le plus pe t i t ) po ur ga r de r to ujo ur s le s to p 1 0
P uis la fo n c t i o n c l e a n u p ( ) e s t e x é cu t é e . un po int
impo r ta nt à no te r i c i e s t que no us ut i l is o ns
c o n t e x t . w r i t e ( ) da ns la mé tho de c l e a n u p ( ) qu i ne
s ' e x é cute qu ' une s e ule fo i s à la f in de la dur é e de v ie
de M a ppe r . M a ppe r tr a i te une pa i r e c lé - v a le ur à la
fo i s e t le s é cr i t e n ta nt que s o r t ie inte r mé dia i r e s ur le
dis que lo ca l . M a i s no us de v o ns tr a i te r le blo c e ntie r
( to ute s le s pa i r e s c lé - v a le ur ) po ur tr o uv e r to p 1 0 ,
a v a nt d ' é cr i r e la s o r t ie , no us ut i l is o ns do nc
co nte x t . wr i te ( ) da ns c le a nup ( ) .

L a fo n c t i o n c le a n u p ( ) a lo r s u t i l i s e c o n t e x t . w r i t e po ur
r e to ur ne r cha que c lé - v a le ur da ns la s tr uct ur e
T r e e M a p qui - co mme o n a dit - co ntie nt le s 1 0
pr e mie r s v i l le s lo ca ux po ur cha que blo c .

LA PARTIE DU REDUCER :

M ê me lo gi que que le ma ppe r . R e duce r tr a i te une


pa i r e c lé - v a le ur à la fo i s e t le s é cr i t e n ta nt que s o r t ie
f ina le s ur H D F S . M a i s no us de v o ns tr a i te r to ute s le s
pa i r e s c lé - v a le ur po ur tr o uv e r to p 1 0 , a v a nt d ' é cr i r e la
s o r t ie , no us ut i l i s o ns do nc c le a nup ( ) .

e l le ut i l is e a us s i la fo nct io n s e t u p po ur in i t ia l i s e r la
tr e e ma p .
puis elle utilise cette structure de données pour
trouver les top10 globaux (de la meme façon que
celle du mapper). Finalement, la fonction cleanup
a i t a p p e l à l a m é t h o d e c o n t e x t . wr i t e ( ) p o u r r e t o u r n e r
les top10 globaux (les 10 villes les plus peuplés).

You might also like