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

32
1 BIGDATA BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

Upload: adelie-thiebaut

Post on 04-Apr-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

1

BIGDATABIGDATAStella KemgangSamuel QuettierDzung NguyenCyrille Meli

Encadré par : Julie Josse

Page 2: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille 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

Page 3: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

3

Introduction Solutions dans R Conclusions et ouvertures

Introduction générale1

Page 4: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 5: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : 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 ?!

Page 6: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 7: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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 !!!

Page 8: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

8

Introduction Solutions dans R Conclusions et ouvertures

Les solutions dans R2

Page 9: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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 »

Page 10: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 11: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

11

Introduction Solutions dans R Conclusions et ouvertures

Le package Bigmemory

Page 12: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 13: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 14: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

Un peu d’applications ??

Page 15: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 16: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 17: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 18: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 19: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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.

Page 20: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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.

Page 21: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

Il n’existe pas que Bigmemory!!

Page 22: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 23: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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

Page 24: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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:

Page 25: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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!!!

Page 26: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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.

Page 27: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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.

Page 28: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

29

Introduction Solutions dans R Conclusions et ouvertures

Conclusions et ouvertures3

Page 29: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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.

Page 30: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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 …

Page 31: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

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.

Page 32: 1 BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse

33

BIGDATABIGDATAStella KemgangSamuel QuettierDzung NguyenCyrille Meli

Encadré par : Julie Josse

C’était