1 bigdata stella kemgang samuel quettier dzung nguyen cyrille meli encadré par : julie josse

Post on 04-Apr-2015

110 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related