big data with r
DESCRIPTION
TRANSCRIPT
![Page 1: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/1.jpg)
www.bluestone.fr 55 rue du Faubourg Montmartre – 75009 Paris
+33 (0)1 53 25 02 10 [email protected]
BS TEMPLATE 20120625
BASTIEN RIERA
![Page 2: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/2.jpg)
Contexte
Qu’est-ce que le Big Data ?
Hadoop
RHadoop
Le MapReduce en pratique
Pour aller plus loin
Hollande vs Sarkozy
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 2
![Page 3: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/3.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 3
Stage de fin d’étude : Ensai 2012 – Marketing quantitatif et gestion de la relation client
Bluestone Consulting – Maître de stage : Julien Damon
Monitoring de la campagne présidentielle sur Twitter
Étude de l’influence de François Hollande et Nicolas Sarkozy
Analyse statistique en environnement Big Data
Choix du logiciel R
![Page 4: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/4.jpg)
![Page 5: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/5.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 5
« La Big Data est caractérisée par une accumulation continue de tous les types de données atteignant une taille et un niveau de granularité difficile à exploiter » (Zouheir Guédri – Mars 2012)[1]
Les quatre V du Big Data (Alex Popescu – Fev 2012)[2] : Volume
Variété
Vitesse
Valeur
![Page 6: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/6.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 6
Volume : 2011 : 1,8 ZettaOctet[3] au niveau mondial
Réseaux Sociaux : 400 millions de tweets publiés par jour en 2012[4]
Variété : Structuré / Non structuré
Open Data
Réseaux Sociaux
Vitesse : Flux d’information
Valeur : 5% des données sont compatibles avec l’analyse décisionnelle[3]
Open Data
API
![Page 7: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/7.jpg)
![Page 8: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/8.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 8
Open-source, fondation Apache
Exploité par : Microsoft, IBM, Oracle, EMC, …
Avantages Stockage et calculs distribués
Nombre de nœuds évolutif
Fiable face aux défaillances matérielles
Inconvénients Pas d’interface utilisateur
Aucune méthode d’analyse statistique
Hadoop Distributed File System (HDFS) Division par bloc
Stockage distribué
MapReduce
![Page 9: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/9.jpg)
![Page 10: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/10.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 10
RHadoop RevolutionAnalytics (Github)
Trois package R, rhbase, rhdfs, rmr
MapReduce : rmr
Avantages Environnement R[5]
Transparent
Définition des fonctions Map et Reduce
Deux environnements : « local » et « hadoop »
Inconvénients Peu de méthodes directement implémentées
Gestion des erreurs
![Page 11: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/11.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 11
rmr
![Page 12: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/12.jpg)
![Page 13: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/13.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 13
Association clef/valeur
Dualité Map/Reduce Map = une observation
Reduce = agrégation
![Page 14: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/14.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 14
map=function(k,v){
…
k’= …
v’= …
keyval(k’,v’)
}
reduce = function(k’,list_v’){
…
k’’= …
v’’= …
keyval(k’’, v’’)
}
![Page 15: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/15.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 15
Association clef/valeur
Dualité Map/Reduce Map = une observation
Reduce = agrégation
Nombre de tweets :
Map
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<NULL,1> <NULL,1> <NULL,1> <NULL,1>
<NULL,1> <NULL,1> <NULL,1> <NULL,1>
<NULL,1> <NULL,1> <NULL,1>
![Page 16: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/16.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 16
Association clef/valeur
Dualité Map/Reduce Map = une observation
Reduce = agrégation
Nombre de tweets :
Reduce
Map
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<NULL,1> <NULL,1> <NULL,1> <NULL,1>
<NULL,1> <NULL,1> <NULL,1> <NULL,1>
<NULL,1> <NULL,1> <NULL,1>
<NULL,11>
![Page 17: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/17.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 17
mapreduce(input=input, map=function(k,v){ k’ = NULL v’ = 1 keyval(k’, v’) }, reduce = function(k’,list_v’){ k’’ = NULL v’’= sum(unlist(list_v’)) keyval(k’’,v’’) } )
![Page 18: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/18.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 18
Nombre de tweets par utilisateur :
Map
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<id1,1> <id2,1> <id3,1> <id1,1>
<id1,1> <id1,1> <id2,1> <id3,1>
<id2,1> <id1,1> <id2,1>
![Page 19: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/19.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 19
Nombre de tweets par utilisateur :
Map
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<id1,1> <id2,1> <id3,1> <id1,1>
<id1,1> <id1,1> <id2,1> <id3,1>
<id2,1> <id1,1> <id2,1>
Map Clef :
identifiant utilisateur
Valeur : 1
![Page 20: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/20.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 20
Nombre de tweets par utilisateur :
Regroupement Automatique
Map
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<id1,1> <id2,1> <id3,1> <id1,1>
<id1,1> <id1,1> <id2,1> <id3,1>
<id2,1> <id1,1> <id2,1>
<id1,1> <id1,1> <id1,1> <id1,1> <id1,1>
<id2,1> <id2,1> <id2,1> <id2,1>
<id3,1> <id3,1>
Map Clef :
identifiant utilisateur
Valeur : 1
![Page 21: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/21.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 21
Nombre de tweets par utilisateur :
Regroupement Automatique
Map
Reduce
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<id1,1> <id2,1> <id3,1> <id1,1>
<id1,1> <id1,1> <id2,1> <id3,1>
<id2,1> <id1,1> <id2,1>
<id2,4>
<id1,1> <id1,1> <id1,1> <id1,1> <id1,1>
<id2,1> <id2,1> <id2,1> <id2,1>
<id3,1> <id3,1>
<id3,2>
<id1,5>
<id1,5> <id2,4> <id3,2>
Map Clef :
identifiant utilisateur
Valeur : 1
Reduce Agrégation par clef
![Page 22: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/22.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 22
mapreduce(input = input ,
map=function(k,v){
k’ = v$user$id_str
v’ = 1
keyval(k’, v’)
},
reduce = function(k,list_v){
keyval(k, sum(unlist(list_v)))
}
)
![Page 23: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/23.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 23
Nombre de tweets moyen par utilisateur :
Reduce 1
Regroupement Automatique
Map
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<id1,1> <id2,1> <id3,1> <id1,1>
<id1,1> <id1,1> <id2,1> <id3,1>
<id2,1> <id1,1> <id2,1>
<NULL,5>
<NULL,4>
<NULL,2>
<id1,1> <id1,1> <id1,1> <id1,1> <id1,1>
<id2,1> <id2,1> <id2,1> <id2,1>
<id3,1> <id3,1>
![Page 24: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/24.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 24
Nombre de tweets moyen par utilisateur :
Reduce 1
Regroupement Automatique
Map
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<id1,1> <id2,1> <id3,1> <id1,1>
<id1,1> <id1,1> <id2,1> <id3,1>
<id2,1> <id1,1> <id2,1>
<NULL,5>
<NULL,4>
<NULL,2>
<id1,1> <id1,1> <id1,1> <id1,1> <id1,1>
<id2,1> <id2,1> <id2,1> <id2,1>
<id3,1> <id3,1>
Reduce 1 : Agrégation par clef
Changement de clef
![Page 25: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/25.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 25
Nombre de tweets moyen par utilisateur :
Reduce 2
Reduce 1
Regroupement Automatique
Map
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<id1,1> <id2,1> <id3,1> <id1,1>
<id1,1> <id1,1> <id2,1> <id3,1>
<id2,1> <id1,1> <id2,1>
<NULL,5>
<NULL,4>
<NULL,2>
<NULL, 3.7>
<id1,1> <id1,1> <id1,1> <id1,1> <id1,1>
<id2,1> <id2,1> <id2,1> <id2,1>
<id3,1> <id3,1>
Reduce 1 : Agrégation par clef
Changement de clef
Reduce 2 : Moyenne sur tous
les individus
![Page 26: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/26.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 26
input2=mapreduce( input = input ,
map= function(k,v) {
keyval(v$user$id_str,1)
},
reduce = function(k,list_v){
keyval(NULL, sum(unlist(list_v)))
}
)
mapreduce(input=input2,
reduce=function(k,list_v){
keyval(k,mean(unlist(list_v)))
}
)
![Page 27: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/27.jpg)
![Page 28: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/28.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 28
Étude de l’influence sur Twitter
Début : 19 mars 2012 (publication de la liste des candidats)
Fin : 5 mai 2012 (la veille des résultats du second tour)
130 mots clefs
16 millions de tweets récoltés
4 500 000 utilisateurs
53 Go
![Page 29: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/29.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 29
{ "_id":{ "$oid": "4f625e47e2a3f33c79000002" }, "truncated":false, "retweet_count":0, "source":"web", "user":{ "screen_name":"Expat00007", "followers_count":0, "time_zone":"Amsterdam", "location":null, "lang":"fr", "profile_image_url_https":"https://si0.twimg.com/sticky/default_profile_images/default_profile_5_normal.png", "name":"Expat00007", "id":525747899, "geo_enabled":false, "created_at":"Thu Mar 15 21:02:35 +0000 2012", "friends_count":0, "id_str":"525747899", "profile_image_url":"http://a0.twimg.com/sticky/default_profile_images/default_profile_5_normal.png" }, "place":null, "geo":null, "text":"#FH réveille toi, Sarkozy lui, envoyait sévère, il a du punch, il répond du tac o tac, il sait de quoi il parle... il tergiverse pas !", "coordinates":null, "created_at":"Thu Mar 15 21:25:27 +0000 2012", "entities":{ "hashtags": [{ "text":"FH", "indices":[0,3] }], "urls":[], "user_mentions":[]}, "id":180404368162570240, "id_str":"180404368162570240" }
![Page 30: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/30.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 30
F. Hollande : 1er personne
Candidat sortant
N. Sarkozy : 3eme personne
@fhollande
![Page 31: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/31.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 31
F. Hollande : 1er personne
Candidat sortant
#rennes…
N. Sarkozy : 3eme personne
@fhollande
#dpda…
![Page 32: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/32.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 32
F. Hollande : 228 776
N. Sarkozy : 174 967
![Page 33: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/33.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 33
Nombre de Tweets
Nombre de Retweets
Nombre de tracts équivalent
François Hollande 712 30 854 12 107 411
Nicolas Sarkozy 609 42 796 13 769 105
![Page 34: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/34.jpg)
![Page 35: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/35.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 35
Structure des retweets
Estimation de la matrice « qui a retweeté qui » Matrice stochastique
Matrice creuse de dimension 4 500 000 * 4 500 000
Évolution d’une mesure de probabilité Produit matriciel
Mesure récursive du pouvoir d’influence Prise en compte de la capacité d’influence des proches
Convergence itérative
Solution unique
![Page 36: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/36.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 36
François Hollande : 12eme
Nicolas Sarkozy : 14eme
Analystes politiques : Le Véritomètre (rang 3)
Owni (rang 4)
Journalistes : Soren Seelow (rang 24)
Leparmentier Arnaud (rang 26)
Politiques : Vincent Feltesse (rang 17)
Jean-Luc Mélenchon (rang 20)
Etrangers : Barack Obama (rang 6-7)
Breaking news (rang 13)
…
![Page 37: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/37.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 37
Structure des retweets
Estimation de la matrice « qui a retweeté qui » Matrice stochastique
Matrice creuse de dimension 4 500 000 * 4 500 000
Évolution d’une mesure de probabilité Produit matriciel
Mesure récursive du pouvoir d’influence Prise en compte de la capacité d’influence des proches
Convergence itérative
Solution unique
![Page 38: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/38.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 38
Regroupement Automatique
Map
tweet1 tweet2 tweet3 tweet4
tweet5 tweet6 tweet7 tweet8
tweet9 tweet10 tweet11
<id_Retweeter1,id_Author4> <id_Retweeter2,id_Author4>
<id_Retweeter1,id_Author6> <id_Retweeter1,id_Author6>
<id_Retweeter3,id_Author4>
<id_Retweeter3,id_Author5>
<id_Retweeter1,id_Author4> <id_Retweeter1,id_Author6> <id_Retweeter1,id_Author6>
<id_Retweeter2,id_Author4>
<id_Retweeter3,id_Author4> <id_Retweeter3,id_Author5>
…
…
…
![Page 39: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/39.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 39
mapreduce(input=input, map=function(k,v){ if(is.null(v$retweeted_status$user$id_str)){return()} else{ retweeteur=v$user$id_str retweete=v$retweeted_status$user$id_str keyval(retweeteur,retweete) } }, …
![Page 40: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/40.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 40
Reduce
id_author4 | id_author6 <id_Retweeter1, 0.333 | 0.667 > …
…
…
id_author4 | <id_Retweeter2, 1 | >
id_author4 | id_author5 <id_Retweeter1, 0.5 | 0.5 >
Matrice creuse
![Page 41: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/41.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 41
mapreduce(input=input, map=function(k,v){ if(is.null(v$retweeted_status$user$id_str)){return()} retweeteur=v$user$id_str retweete=v$retweeted_status$user$id_str keyval(retweeteur,retweete) }, reduce=function(k,vv){ keyval(k,table(unlist(vv))/length(vv)) } )
![Page 42: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/42.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 42
Matrice creuse
clef : id_Retweeter valeur : data.frame : (id_user, coefficient)
Vecteur de score d’influence
clef : id_user valeur : score
Reduce
Reduce
Equijoin() (Jointure sur les clefs)
Clef : id_Retweeter Valeur 1 : (id_user, coefficient) Valeur 2 : (score)
Clef : id_user Valeur : coefficient*score
Nouveau vecteur de score Clef : id_user Valeur : nouveau_score = SUM(coefficient*score)
![Page 43: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/43.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 43
tmp=equijoin(
left.input=score,
right.input=matrice,
outer="left",
#map.right=function(…)
#map.left=function(…)
reduce.all=function(k, v.left, v.right){
k’=unlist(v.right[,1])
v’=unlist(as.numeric(v.right[,2])*as.numeric(v.left))
keyval(k’,v’)
}
)
mapreduce(
input=tmp,
reduce=function(k,v){
keyval(k’,sum(unlist(v’))
}
)
![Page 44: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/44.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 44
Autres fonctions R disponibles dans le package rmr
mapreduce(…) Cadre fonctionnel permettant de définir et de réaliser les traitements au format MapReduce.
rmr.str(…) Équivalent de la fonction str() de R
rmr.sample(input, output = NULL, method = c("any", "Bernoulli"), ...)
Réalise des échantillonnages aléatoires dans les fichiers de l’hdfs. On peut y définir un effectif cible ou une probabilité d’échantillonnage.
equijoin(…) Permet de réaliser des jointures en MapReduce (cf. exemple)
![Page 45: Big data with r](https://reader034.vdocuments.us/reader034/viewer/2022051323/547cbf725906b543378b45aa/html5/thumbnails/45.jpg)
BIG DATA - INTRODUCTION À LA PROGRAMMATION MAPREDUCE AVEC R 45
1. Zouheir Guédri Congrès BigData Paris. (2012)
2. Alex Popescu Big data causes concern and big confusion. A big data definition to help
clarify the confusion. (2012)
3. Stephane Fermigier Big data & open source : une convergence inévitable ? (2012)
4. Semiocast Twitter reaches half a billion accounts - More than 140 millions in the U.S.
(2012)
5. R development core team R : A language and environment for statistical computing. (2008) (3-900051-
07-0)
6. Michael Eisermann 1. Comment fonctionne Google ? (2009)