Upload
adelie-thiebaut
View
108
Download
1
Embed Size (px)
Citation preview
1
BIGDATABIGDATAStella KemgangSamuel QuettierDzung NguyenCyrille Meli
Encadré par : Julie Josse
2
SommaireSommaire
Introduction généraleA. Retour sur la Présentation généraleB. Limites de RC. Des solutions
Les solutions dans RA. Big memory
B. Ff
Conclusions et ouvertures
1
2
3
3
Introduction Solutions dans R Conclusions et ouvertures
Introduction générale1
4
Introduction Solutions dans R Conclusions et ouvertures
• Possibilité de combiner programmation, utilisation de fonctions pré-définies (code source accessible) et/ou clique boutons Rcmdr.
• Plus de 2800 librairies (packages) ! Collaboratif.
• Évolution rapide du logiciel, disponibilité immédiate denouvelles méthodes ou méthodologies.
• Disponible sous Mac, Windows, Linux.
• Diffusion : congrès.
Retour sur la Présentation générale
Source : Introduction à R, Marine Cadoret & Julie Josse
5
Introduction Solutions dans R Conclusions et ouvertures
Deux limites importantes :
• R n’utilise par défaut qu’un seul CPU.
• read.table enregistre par défaut les données dans la RAM.
Facile d’épuiser la RAM en stockant des données inutiles.Le système d'exploitation limité à 4 Go de mémoire. R limité à 2Go.
Limites de R
Problématique, lorsque l’heure est de plus en plus aux gros jeux de données !
(amazon, gouv, aéronautique, marchés financiers…)Plusieurs Go ! Téraoctets ?!
6
Introduction Solutions dans R Conclusions et ouvertures
Il existe plusieurs solutions :
• Acheter plus de RAM.
• Utiliser un Système de Gestion de Bases de Données.
• Echantillonner, ré-échantillonner, ou utiliser la méthode de Monte Carlo.
• Ce dont nous allons vous parler …
Solutions
7
Introduction Solutions dans R Conclusions et ouvertures
« BigData » = jeu de données qui ne rentre pas dans la RAM.
Packages de R pour les prendre en charge :
• Bigmemory.• Ff.
Il existe également des packages permettant de pratiquer le parallel computing pour atteindre un objectif similaire :
• HadoopStreaming.• Rhipe.
Présentation sur le parallel computing !!!
Présentation sur le parallel computing !!!
8
Introduction Solutions dans R Conclusions et ouvertures
Les solutions dans R2
9
Introduction Solutions dans R Conclusions et ouvertures
Le package Bigmemory
• « The bigmemory Project » Michael J. Kane and John W. Emerson, Yale University http://www.bigmemory.org
• « Sister » packages: Bigalgebra Bigtabulate Biganalytics Synchronicity
• Date de publication: 12/09/2012
Schéma du projet « bigmemory »
10
Introduction Solutions dans R Conclusions et ouvertures
• Stocker des objets massifs (matrices) dans la RAM en utilisant des pointeurs extérieurs pour les référer.
• Le jeu de données peut être « file-backed » pour le gérer et l’analyser facilement lorsque sa taille est plus élevée que celle de la RAM.
• Certains processus dans le même ordinateur peuvent partager ces objets issus de « bigmemory ».
Le package Bigmemory
11
Introduction Solutions dans R Conclusions et ouvertures
Le package Bigmemory
12
Introduction Solutions dans R Conclusions et ouvertures
read.big.matrix
(filename, sep = ’,’, header = FALSE, skip = 0,col.names = NULL, row.names = NULL,has.row.names=FALSE, ignore.row.names=FALSE,
extraCols = NULL,type = NA,separated = FALSE,
backingfile = NULL, backingpath = NULL,descriptorfile = NULL, shared=TRUE)
Le package Bigmemory
14
Introduction Solutions dans R Conclusions et ouvertures
backingfile
• Une « file-backed » matrice peut dépasser la RAM disponible en utilisant l'espace du disque dur, et peut également être partagée entre plusieurs processus.
• Une « file-backed » matrice peut dépasser la RAM disponible en taille à l'aide d'un cache de fichier (ou des caches de fichiers multiples, si separated = TRUE).
descriptorfile
• Donner le nom du fichier pour contenir la description « file-backed », pour une utilisation ultérieure avec attach.big.matrix
Le package Bigmemory
Un peu d’applications ??
16
Introduction Solutions dans R Conclusions et ouvertures
Exemple de création et Manipulation de données Exemple de création et Manipulation de données
objet qui pointe vers l'emplacement mémoire de la structure des données
Demande de Permission pour modification !!!
Big.matrixBig.matrix matrixmatrix
17
Introduction Solutions dans R Conclusions et ouvertures
Usage des fonctions morder et mpermute
Exemple de création et Manipulation de données Exemple de création et Manipulation de données
18
Introduction Solutions dans R Conclusions et ouvertures
ozone<-read.big.matrix ("ozone.txt", header=TRUE, sep=" ", type = "double", has.row.names=TRUE, backingfile = "ozone.bin", backingpath = "E:/documents/Rennes/MASTER 2 Stat/Cours R/TD2" descriptorfile = "ozone.desc")
Library ("bigmemory")
Library ("biganalytics")
Summary (ozone)
dim (ozone)attributes (ozone)
parallel computing
Summary (ozone)
Exemple: importation des données Exemple: importation des données
19
Introduction Solutions dans R Conclusions et ouvertures
Nouvelle session de R sur le même ordinateur ou sur plusieurs autres
Parallel computing
plusieurs processus de R peuvent partager des objets de mémoire via l’appel par référence
Exemple: importation des données Exemple: importation des données
20
Introduction Solutions dans R Conclusions et ouvertures
Un petit test !!Un petit test !!
fonction fichier Temps (sec)
read.big.matrix (Bigmemory)
(.csv)167 Mo
~ 1,37 min
read.table
~ 4,33 min
read.big.matrix (Bigmemory)
(.csv)1,62 Go
~ 46,17 min~ 46,17 min
read.table ??? Après 4h d’attente …
Samsung Electronics Celeron (R) Dual -Core CPU T3500@ 2.10GHz, 3 GoRAM.
Avec bigmemory gain important de vitesse
d’importation des fichiers.
Avec bigmemory gain important de vitesse
d’importation des fichiers.
importation de 2 fichiers.importation de 2 fichiers.
Introduction Solutions dans R Conclusions et ouvertures
Avantages:
o Stocker une matrice dans la mémoire par référence.
o L’accès à la RAM est rapide grâce à C + +.
Inconvénients: o Disparaît au redémarrage, à moins d'utiliser filebacked.big.matrix.
o Limite du processus filebacked sur les systèmes 32 bits.
Il n’existe pas que Bigmemory!!
23
Introduction Solutions dans R Conclusions et ouvertures
ff= fast access filesLe package ff
mémoireSupport externe
Facilite l’accès des données de grande dimension;bigdata=objets ff, on y a accès comme à des objets R ordinaires.
Les données sont stockées dans le disque dur mais se comportent comme si elles étaient dans la RAM.
Les objets ff sont transformés en fichiers binaires très légers pour la mémoire!!
CHUNKS
24
Introduction Solutions dans R Conclusions et ouvertures
Le package ff
Il comprend 2 parties:- « low level » écrite en C-« high level» écrite en R
Introduction Solutions dans R Conclusions et ouvertures
Le package ff
Ouverture/création de fichiers:
Contrôlé par 2 principales fonctions, ff et ffm. Si les arguments length et dim sont spécifiés alors création, sinon ouverture.Les opérations Entrés/Sorties (I/O):
Contrôlé par les opérateurs ‘[ ]’ , ‘<-’Utilisation de fichiers binaires!!!!
Fonctions et méthodes pour les objets ff et ffm:
Plusieurs fonctions qui optimisent l’utilisation du package sont mises à disposition.
La partie en R comprend les sections suivantes:
Introduction Solutions dans R Conclusions et ouvertures
Le package ff
Quelques fonctions utiles:
ff( initdata = NULL, length = NULL, levels = NULL, dim = NULL, filename = NULL, overwrite = FALSE, vmode = NULL)
Var qualitatives
Valeurs qui Initialisent l’objet à construire
Mode de stockage virtuel
Donne un nom au fichier dans lequel est créé l’objet
Si True, ecrase des fichiers contenant déjà des objets
27 arguments à elle seule!!!
27 arguments à elle seule!!!
Introduction Solutions dans R Conclusions et ouvertures
Quelques fonctions utiles:
As.ffdf conversion d’une matrice en dataframe.ffm.data.frame
Biglm ajuste un modèle linéaire à des ff bigdata.Bigglm
read.table.ffdf importe un jeu de données en le transformant en ff dataframe.
Introduction Solutions dans R Conclusions et ouvertures
Avantages:
o Permet à R de travailler avec plusieurs jeux de données énormes simultanément;
o Nettoie le système;
o Ne cesse d’être optimisé.
Inconvénients:
o Difficile à mettre en œuvre et à comprendre car peu d’exemples;
o La mise sur pieds d’analyses performantes requiert beaucoup de réflexion.
29
Introduction Solutions dans R Conclusions et ouvertures
Conclusions et ouvertures3
30
Introduction Solutions dans R Conclusions et ouvertures
Conclusions
Quel package utiliser ?
C’est une question de goût !
Bigmemory est plus confortable à l’utilisation.Mais ff produit des data frames, type utilisé par beaucoup de fonctions sous R standard.
31
Introduction Solutions dans R Conclusions et ouvertures
Conférence BIG DATA PARIS, 2ème édition, 03-04 avril 2013, CNIT Paris La Défence.
www.bigdataparis.com
Pour en savoir plus …
Pour en savoir plus …
32
Introduction Solutions dans R Conclusions et ouvertures
Sources :
Bigmemory.pdf ; Michael J. Kane & and John W. Emerson ; 17 Septembre 2012.
Ff.Pdf ; Daniel Adler & all ; 8 Mai 2012.
Working with Large Datasets ; Ryan R. Rosario ; 17 Aout 2010.
Big_Memory V0.pdf ; Gstat ; 24 Mars 2012.
33
BIGDATABIGDATAStella KemgangSamuel QuettierDzung NguyenCyrille Meli
Encadré par : Julie Josse
C’était