R et le big data, une histoire d’amour ?

 

Au fond, le big data, tout le monde en parle, mais personne ne sait vraiment de quoi il en retourne. Et c’est bien normal, le terme est utilisé à toutes les sauces : gestion des ressources humaines, innovations dans les transports, médecin du futur, potion magique du marketing… la liste pourrait facilement s’allonger de dizaines de secteurs à qui l’on promet la lune à coup d’épiphanie big data.

Malgré cette popularité, pas facile de trouver une définition claire de ce que regroupe le terme le plus en vogue des années 2010. D’autant que la notion bouge vite : ce qui était « big » hier ne l’est plus aujourd’hui — la faute à la puissance informatique qui s’obstine à changer d’échelle tous les jours.

Mais parce qu’il faut bien s’entendre, accordons-nous sur cette idée : on considère qu’un jeu de données entre dans la catégorie « big data » à partir du moment où il n’est plus possible de le travailler depuis un ordinateur personnel. C’est aussi simple que ça !

 

Le Big Data selon Hadley Wickham

Dans le monde des accrocs de R, on ne présente plus Hadley Wickham, Chief Scientist chez RStudio et véritable rockstar de la donnée. Vous le connaissez notamment pour ses packages ggplot2 ou encore dplyr (et tidyr, et stringr, et reshape2, et httr, et devtools, et…), et ses nombreux ouvrages qui servent aujourd’hui de référence. Bref, quand Mr Wickham nous offre sa vision du big data, chez ThinkR, nous sommes tout ouïe.

Dans un interview de 2015, le statisticien définit trois grandes familles de problématiques rencontrées dans un projet de « Big Data » :

–   Les questions pouvant se régler facilement, une fois passée l’étape d’échantillonnage et d’extraction, en transformant le « big data » en « small data ». Pour cela, il faut pouvoir stocker les données, ce qui nécessite des solutions ad hoc (comme hive, teradata, ou d’autres). Des interrogations rencontrées dans environ 90 % des cas.

–   Les problématiques big data que l’on peut décomposer en série de problématiques small data, dans environ 9 % des cas. Ici, il s’agit, par exemple, de reproduire un modèle appliqué à une entrée sur des centaines de milliers de données. Pour cela, une solution : paralléliser sur plusieurs machines.

–   Les problématiques vraiment « big data », qui demandent d’avoir accès à toutes les données en temps réel, et nécessitent l’ajustement de modèles complexes. C’est le cas notamment de l’index de Google.

 

Et R, dans tout ça ?

Pourquoi choisir R ? Parce qu’au-delà des questions techniques de stockage (et la gestion de datawarehouses, de datalakes et consorts), le big data présente des enjeux de traitement — c’est d’ailleurs ici que réside sa vraie valeur ajoutée : savoir analyser les immenses bases de données, effectuer des tests statistiques, créer des modèles prédictifs… Des actions pour donner du sens aux données, et que vous pouvez réaliser avec R !

Car oui, vous l’aurez deviné, si nous vous parlons de big data aujourd’hui, c’est pour vous rassurer : votre logiciel favori est parfaitement adapté à la gestion des projets de données massives. Combiné avec Java ou Python, ou en solo, R peut être utilisé comme langage principal ou comme « glue » dans les solutions sur mesure (dataiku ou SparkR).

À noter que R travaille « in memory », c’est-à-dire qu’il stocke les données en mémoire vive. Ce qui a été un frein pendant longtemps… jusqu’à l’arrivée de machines atteignant les 1 To de RAM. Quant à nos ordinateurs personnels, nous pouvons aujourd’hui les faire grimper à 16 Go de mémoire vive relativement facilement. Avec des volumes de RAM comme celui-ci, plus besoin de travailler sur un cluster de machines… Ce qui, avouons-le, vous épargnera quelques sueurs froides.

Et même si R présentait d’autres défauts de conception (duplication temporaire d’objets dans la RAM, usage d’un seul CPU…), des passionnés du monde entier ont mis en open source des packages comme data.table ou encore foreach, permettant de surmonter ces obstacles.

Quant à tous les bons réflexes à avoir pour travailler le big data avec R, c’est facile ! Notre astuce : un peu de respiration yoga, une formation made in ThinkR, et ça repart !


À propos de l'auteur

Colin Fay

Colin Fay

Data scientist & R Hacker


Commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


À lire également