M2 GL UE DOC «In memory analytics»



Documents pareils
Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

HADOOP ET SON ÉCOSYSTÈME

4 Exemples de problèmes MapReduce incrémentaux

L écosystème Hadoop Nicolas Thiébaud Tuesday, July 2, 13

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

Programmation parallèle et distribuée

Les technologies du Big Data

Panorama des solutions analytiques existantes

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

Big Data Concepts et mise en oeuvre de Hadoop

Anticiper et prédire les sinistres avec une approche Big Data

Les enjeux du Big Data Innovation et opportunités de l'internet industriel. Datasio 2013

Programmation parallèle et distribuée

Introduction aux algorithmes MapReduce. Mathieu Dumoulin (GRAAL), 14 Février 2014

Labs Hadoop Février 2013

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Ricco Rakotomalala R.R. Université Lyon 2

Introduction à MapReduce/Hadoop et Spark

BIG Data et R: opportunités et perspectives

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars ans du SIAD -"Big Data par l'exemple" -Julien DULOUT

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

Offre formation Big Data Analytics

Hadoop, les clés du succès

DEMARRER UN PROJET BIGDATA EN QUELQUES MINUTES GRACE AU CLOUD

Big Graph Data Forum Teratec 2013

Cartographie des solutions BigData

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Big data et données géospatiales : Enjeux et défis pour la géomatique. Thierry Badard, PhD, ing. jr Centre de Recherche en Géomatique

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant

BIG DATA en Sciences et Industries de l Environnement

Hadoop dans l entreprise: du concept à la réalité. Pourquoi et comment?

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

MapReduce. Nicolas Dugué M2 MIAGE Systèmes d information répartis

Le nouveau visage de la Dataviz dans MicroStrategy 10

Cassandra et Spark pour gérer la musique On-line

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON

Analytics & Big Data. Focus techniques & nouvelles perspectives pour les actuaires. Université d Eté de l Institut des Actuaires Mardi 8 juillet 2014

Surmonter les 5 défis opérationnels du Big Data

Big Data et Graphes : Quelques pistes de recherche

Big Data : utilisation d un cluster Hadoop HDFS Map/Reduce HBase

Fouille de données massives avec Hadoop

Le projet Gaïa, le Big Data au service du traitement de données satellitaires CRIP - 16/10/2013 Pierre-Marie Brunet

Quels choix de base de données pour vos projets Big Data?

MapReduce et Hadoop. Alexandre Denis Inria Bordeaux Sud-Ouest France ENSEIRB PG306

Les quatre piliers d une solution de gestion des Big Data

11/01/2014. Le Big Data Mining enjeux et approches techniques. Plan. Introduction. Introduction. Quelques exemples d applications


Jean-François Boulicaut & Mohand-Saïd Hacid

Our experience in using Apache Giraph for computing the diameter of large graphs. Paul Bertot - Flavian Jacquot

Certificat Big Data - Master MAthématiques

CENTAI : Big Data & Big Analytics Réunion DGPN / Thales Octobre 2013

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Bases de données documentaires et distribuées Cours NFE04

Projet Xdata. Cinequant, Data Publica, EDF, ESRI, Hurence, INRIA, Institut Mines Telecom, La Poste, Orange, Veolia

Big Data et Graphes : Quelques pistes de recherche

Les journées SQL Server 2013

Introduction Big Data

VirtualScale L expert infrastructure de l environnement Open source HADOOP Sofiane Ammar sofiane.ammar@virtualscale.fr

R+Hadoop = Rhadoop* Des logiciels libres complémentaires, une implémentation, une réponse au nouveau paradigme du bigdata!

Comment Créer une Base de Données Ab Initio

L Art d être Numérique. Thierry Pierre Directeur Business Development SAP France

Stephan Hadinger, Sr. Mgr Solutions Architecture, AWS. Salon du Big Data 11 mars 2015

Le BigData, aussi par et pour les PMEs

Vos experts Big Data. Le Big Data dans la pratique

Comment booster vos applications SAP Hana avec SQLSCRIPT

La rencontre du Big Data et du Cloud

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE

BIG DATA et DONNéES SEO

Encryptions, compression et partitionnement des données

TRANSFORM IT + BUSINESS + YOURSELF

Big Data, un nouveau paradigme et de nouveaux challenges


Comment sauvegarder ses documents

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Tables Rondes Le «Big Data»

Document réalisé par Khadidjatou BAMBA

Pentaho Business Analytics Intégrer > Explorer > Prévoir

Présentation du module Base de données spatio-temporelles

Cassandra chez Chronopost pour traiter en temps réel 1,5 milliard d événements par an

Business Intelligence, Etat de l art et perspectives. ICAM JP Gouigoux 10/2012

Programmation parallèle et distribuée (Master 1 Info )

Innovative BI with SAP Jean-Michel JURBERT D. de Marché BI, HANA, BIG DATA _ SAP France

Big Data On Line Analytics

Notes de cours Practical BigData

Exploration des Big Data pour optimiser la Business Intelligence

Une nouvelle génération de serveur

Change the game with smart innovation

Importation et exportation de données dans HDFS

Me#re le Big Data sur la carte : défis et avenues rela6fs à l exploita6on de la localisa6on

T o u s d r o i t s r é s e r v é s O S I s o f t, L L C. SÉMINAIRES RÉGIONAUX

Benjamin Cornu Florian Joyeux. Les choses à connaître pour (essayer) de concurrencer Facebook.

Transcription:

M2 GL UE DOC «In memory analytics» Alexandre Termier 2014/2015

Sources Travaux Amplab, U.C. Berkeley Slides Ion Stoica Présentations Databricks Slides Pat McDonough Articles de M. Zaharia et al. sur les RDD et Spark

Introduction «Data is the new oil» Monétiser les données : Google, Facebook, Twitter Grande distribution Opérateurs de télécommunications Nouveaux services Bitly (2008) Moniteurs Fitbit (2011). Améliorer la QoS Analyse de logs (ex: attaques réseaux) Analyses de traces d exécution

Méthodes pour analyser de grosses données BD relationnelles -> taille (très) limitée Entrepôts de données -> prix élevé, taille limitée Cluster Hadoop -> prix abordable, taille importante Données = fichiers HDFS / tables Hbase Requêtes = Code Map/Reduce PIG -> compilé en Map/Reduce Hive -> compilé en Map/Reduce

Limitations de Map/Reduce Difficulté d écriture du code Modèle contraint Une phase de Map puis une phase de Reduce Parfois, besoin de faire plusieurs phases Map/Reduce Algorithmes complexes Algorithmes itératifs (PageRank, K-Means) Transfert de données entre ces phases : stockage sur disque (HDFS)

Problème Analyse de données : Successions de traitements (filtrages, transformations) Algos de machine learning / data mining : itératifs Ex: k-means Buts Réponses interactives sur données historiques Analyse de flux en temps réel Analyses complexes de données massives http://www.iterativemapreduce.org/samples.html

Premières solutions Cascading Workflows complexes en MapReduce Limites : Facilite le codage, mais n accélère pas les traitements! Le runtime est toujours basé sur Map/Reduce Haloop Modif de MapReduce pour gérer les calculs itératifs Utilise des mécanismes de cache pour accélérer les calculs Limites Il faut changer Hadoop!

Nouveau moteur d exécution distribué Logistic regression Exécution des calculs en mémoire ou sur disque Suites de transformations complexes Itérations Applications interactives Peut exploiter les infrastructures Hadoop avec YARN Données dans HDFS, Hbase,

Spark : une popularité grandissante http://radar.oreilly.com/2014/06/a-growing-number-of-applications-are-being-built-with-spark.html

Au cœur de Spark : les RDDs RDD = Resilient Distributed Dataset Collections distribuées d objets en lecture seule Stockés en mémoire ou sur le disque Collections construites par des transformations parallèles Reconstruction en cas de panne

Premier exemple Rouge : opération sur les RDD Noir : code Scala classique Vert : résultat scala> val lesmiserables = sc.textfile("data/*.txt") lesmiserables: org.apache.spark.rdd.rdd[string] = data/*.txt MappedRDD[5] at textfile at <console>:12 scala> lesmiserables.take(5).foreach(println) The Project Gutenberg EBook of Les misérables Tome I, by Victor Hugo This ebook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included scala> lesmiserables.count() res1: Long = 52711

scala> val linesvaljean = lesmiserables.filter(x => x.contains("valjean")) linesvaljean: org.apache.spark.rdd.rdd[string] = FilteredRDD[6] at filter at <console>:14 scala> linesvaljean.cache() res2: linesvaljean.type = FilteredRDD[2] at filter at <console>:14 scala> linesvaljean.count() res3: Long = 911 scala> linesvaljean.take(10).foreach(println) Chapitre VI Jean Valjean nom? Vous vous appelez Jean Valjean. Maintenant voulez-vous que je vous --Voici. Je m'appelle Jean Valjean. Je suis un galérien. J'ai passé qu'on a mis sur le passeport: «Jean Valjean, forçat libéré, natif «--Monsieur Jean Valjean, c'est à Pontarlier que vous allez? Pontarlier, où vous allez, monsieur Valjean, une industrie toute homme, qui s'appelle Jean Valjean, n'avait que trop sa misère présente à que tous les soirs, et il a soupé avec ce Jean Valjean du même air et de Jean Valjean Vers le milieu de la nuit, Jean Valjean se réveilla. Rouge : opération sur les RDD Noir : code Scala classique Vert : résultat

Spark UI

Opérations sur les RDD Transformations RDD -> RDD transformé Suite des transformations loggée «lignée» (lineage en anglais) Exécution paresseuse et parallèle Quelques transformations map reduce filter groupby join sort Actions Exécution d un calcul Stockage extene Quelques actions count take first save fold sample

RDD lineage (lignée en français) Un RDD enregistre toutes les transformations nécessaires pour le construire Reconstruction efficace en cas de panne val lesmiserables = sc.textfile("data/*.txt") val linesvaljean = lesmiserables.filter(x => x.contains("valjean")).textfile( ).filter( ) Fichier MappedRDD FilteredRDD

Partitions et dépendances partitions RDD RDD divisé en partitions Contrôle sur le partitionnement Dépendances différentes en fonction des transformations Narrow Wide Impact sur les performances en cas de panne Figure : Matei Zaharia, PhD dissertation

Persistance Contrôle sur la persistance : Mémoire seulement, objets désérialisés (défaut) Stocke RDD en mémoire, partitions qui ne tiennent pas sont recalculées à la volée Mémoire seulement, objets sérialisés Stocke RDD en mémoire en sérialisant : prend moins de place, coûte plus de CPU Mémoire et disque, objets désérialisés Stocke RDD en mémoire, partitions qui ne tiennent pas sauvées sur disque Mémoire et disque, objets sérialisés Disque seulement

scala> val wc = lesmiserables.flatmap(_.split(" ")).map((_,1)).reducebykey(_+_) wc: org.apache.spark.rdd.rdd[(string, Int)] = ShuffledRDD[5] at reducebykey at <console>:14 scala> wc.take(5).foreach(println) (créanciers;,1) (abondent.,1) (plaisir,,5) (déplaçaient,1) (sociale,,7) scala> val cw = wc.map(p => (p._2, p._1)) Wordcount en Spark cw: org.apache.spark.rdd.rdd[(int, String)] = MappedRDD[5] at map at <console>:16 scala> val sortedcw = cw.sortbykey(false) sortedcw: org.apache.spark.rdd.rdd[(int, String)] = ShuffledRDD[11] at sortbykey at <console>:18 scala> sortedcw.take(5).foreach(println) (16757,de) (14683,) (11025,la) (9794,et) (8471,le) scala> sortedcw.filter(x => "Cosette".equals(x._2)).collect.foreach(println) (353,Cosette)

Performances, code itératif Figure : Matei Zaharia, PhD dissertation

Performance en cas de panne (k-means) Figure : Matei Zaharia, PhD dissertation

Performance w.r.t. utilisation mémoire Régression logistique, 100 GB données, 25 machines Figure : Matei Zaharia, PhD dissertation

Performances, requêtes interactives Utilisation de 100 machines Figure : Matei Zaharia, PhD dissertation

Berkley Data Analytics Stack (BDAS) https://amplab.cs.berkeley.edu/software/

Ecosystème BDAS Au dessus de Spark Shark -> Spark SQL https://spark.apache.org/sql/ Spark Streaming https://spark.apache.org/streaming/ GraphX https://spark.apache.org/graphx/ MLib https://spark.apache.org/mllib/

Autre approche : SAP Hana Spark : nécessite un cluster Pas accessible à tout le monde TCO (Total Cost of Ownership) assez important SAP Hana : base de donnée + analytics en mémoire sur une (grosse) machine Idée : dans 10 ans, n importe quelle machine aura > 1 TO de RAM

Promesses des «in-memory analytics» Accès beaucoup plus rapides aux données Intégration et traitement très rapide des données produites en temps réel Résultats à des requêtes complexes en quelques secondes => Améliorer la rapidité de réaction, décisions rapides

Exemples (source : Intel + SAP) Yodobashi Calcul de points de fidélités pour 5 millions de clients Avant : 1 fois par mois, 3 jours de calcul Maintenant : 2 secondes de calcul -> offres dynamiques basées sur points + inventaires T-Mobile Rapports sur 2 milliards d enregistrements de clients (21 millions de clients) 5 secondes de calcul Ont pu passer de 3 à 4 mois d historique pour les analyses Maintenance prédictive Normalement : maintenance de tous équipements tous les 3 mois Analyse des données de capteur pour prédire les pannes -> Maintenance préemptive pour équipements suspects, tous les 7 mois pour les autres

Conclusion Evolution rapide paysage BD / analytics Direction : la RAM! Besoin de traitements rapides Analyses de plus en plus poussées des données Conséquences pour vous? (M2 GL) Suivre ces technos de près Bien comprendre l utilisation des collections Accès facilité au parallélisme Se documenter sur les requêtes / algorithmes complexes permis par ces nouveaux systèmes Machine learning Data mining