Arnaud LAROCHE Julien DAMON Panorama des solutions analytiques existantes SFdS Méthodes et Logiciels - 16 janvier 2014 - Données Massives
Ne sont ici considérés que les solutions autour de l environnement Hadoop Plus de volume Moins de structure Plus de vitesse Plus d analyses Un nouveau paradigme de traitement de données massivement «parallélisable» Outils d exploitation de l information Modèle de programmation parallèle Système de fichiers distribués Bases de données Nosql, outils de transformation, outils de requêtage, reporting, datamining, machine-learning Un nouveau paradigme de stockage de données, massivement scalable 3
Axe «Opérationnel» : La possibilité de placer des fonctions analytiques complexes au cœur d applications opérationnelles tempsréel (notion de Data- Centric Applications permettant d imaginer de nouveaux produits et services) Action Décision Information Données Axe «Analytique» : La possibilité d opérer des analyses statistiques complexes et des calculs mathématiques en des temps réduits sur de plus grands volumes de données, et sur des données de nature différente (non structurées) Axe «Financier» : La promesse de réduction de coûts liée à la possible mutualisation des infrastructures techniques (data-centers) et à la «scalabilité» desdites infrastructures 4
Exemple simplifié de traitement Map Reduce Entrée Répartition Map Assortiment Reduce Sortie <Bear, 1> <Bear, 1> <Bear, 2> Deer Bear Beer Dear Bear Beer Dear Deer Beer Deer Bear Beer Dear Bear Beer <Deer, 1> <Bear, 1> <Beer,1> <Dear, 1> <Bear,1> <Beer, 1> <Beer, 1> <Beer, 1> <Beer, 1> <Beer, 3> <Bear,2> <Beer,3> <Dear,2> <Deer,2> <Dear, 1> <Dear, 1> <Dear, 2> Dear Deer Beer <Dear, 1> <Deer, 1> <Beer, 1> <Deer, 1> <Deer, 1> <Deer, 2> Complexité algorithmique Latence liée à l architecture Concevoir des algorithmes adaptés Certains algorithmes n existent pas 5
IN HADOOP Traitements réalisés sur le cluster Hadoop avec le framework Hadoop Échanges de données Paradigme map reduce (distribué ou non) Possibilité de traitements intensifs (forte volumétrie, modélisation multiple) ON HADOOP Extractions des données pour traitement analytiques Échanges de données extra-cluster (hdfs, hive, hbase, ) Paradigmes non map reduce (distribué ou non) Espace spécialisé pour les traitements analytiques «SIDE BY SIDE» Mutualisation de l environnement Hadoop avec la solution analytique Échanges de données intra-cluster (hdfs, hive, hbase, ) Paradigmes non map reduce (distribué ou non) Partage de ressources Possibilité d approches «in memory» 6
Statistique & Datamining vs Informatique & Machine-learning RAS (Seuls les usages et la démarche changent réellement) 7
Apache MapReduce http://hadoop.apache.org Open source In Hadoop Map Reduce Java La solution standard de Hadoop pour réaliser des traitements dans le cluster. Elle n est en rien spécifique à des traitements analytiques. Standard Tarification manipulable Coût réel Latence Complexité Besoin de tout implémenter Apache Streaming http://hadoop.apache.org/docs/stable1/streami ng.html Open source In Hadoop Map Reduce Python, C++, R, Intégration sous la forme d un flux (stdin, stdout) de la fonctionnalité MapReduce pour tous les langages pouvant fonctionner sous ce mode. Standard Tarification Souplesse sur le langage à utiliser Possibilité d utiliser des bibliothèques d analyse (scikit, ) Comme MapReduce + Besoin de parsing des fichiers à chaque étape 9
Apache Mahout http://mahout.apache.org/ Open source In Hadoop Java Solution proposée standard par la fondation Apache pour réaliser des traitements analytiques. Un grand nombre d algorithme sont implémentés. Standard Tarification Algorithmes déjà programmés Java ou ligne de commande «complexe» Documentation Régression fonctionnelle RHadoop https://github.com/revolutionanalytics/rhado op/wiki Open source In Hadoop Map Reduce Solution open source réalisée par Revolution Analytics permettant de réaliser les traitement map reduce (rmr2), hdfs (rhdfs), et hbase (rhbase) directement sous R. Programmation sous R Tarification Réutilisation des bibliothèques R possible Aucun algorithme fourni Latence Conversion des données souvent nécessaire 10
Spark http://spark.incubator.apache.org Open source In Hadoop Map Reduce In Memory Solution permettant d accélérer les traitements map reduce en utilisant les ressources mémoire du cluster (c est en fai tune alternative à map Reduce). Elle peut être utilisée avec Scala, Java, Python et bientôt R. Performances Diversité des langages utilisables Tarification Algorithmes existants Adapté à la propagation de scores Pas adapté pour l inférence En cours de développement RHive http://nexr.github.io/rhive/ Open source In Hadoop Interaction avec Hive Intégration de R avec Hive. Dans un sens, permet de réaliser des requêtes HQL en R, dans l autre sens, permet d utiliser des fonctions R sous Hive. Programmation en R Requêtes Hive Adapté à la propagation de scores Tarification Repose sur Hive Pas adapté pour l inférence 11
Storm http://storm-project.net Open source In Hadoop Java Solution adaptée à la réalisation de traitements temps réel. Peut être interfacé avec un grand nombre de langages : Ruby, Python, Javascript, Perl, PHP, et R (avec storm-r) Performances Diversité des langages utilisables Tarification Adapté à la propagation de scores simples Pas adapté pour l inférence Non spécifique analytique 0xdata H 2 O http://0xdata.com Open source In Hadoop Non Map Reduce In Memory Solution in memory déployée sur cluster Hadoop. Permet de réaliser certains traitements analytiques classiques sur des données structurées. Performances (réactivité) IHM agréable (Web) Algorithme existants Contraintes hardware Limites du «In Memory» Méthodes limités (en développement) Pas de flux de traitement 12
ORACLE R Entreprise http://www.oracle.com/technetwork/database/ options/advanced-analytics/renterprise/index.html Commercial In Hadoop Map Reduce Solution comprenant : ORCH, un connecteur Hadoop pour R ayant des fonctionnalités proches de Rhadoop ORE, l intégration de R dans Oracle Programmation sous R Réutilisation des bibliothèques R possible Utilisation de Oracle pour les données volumineuses Tarification Aucun algorithme fourni Latence Conversion des données souvent nécessaire Wibidata http://www.wibidata.com Commercial On Hadoop Interaction avec Hive Java Solution s appuyant sur Kiji (open source) permettant de réaliser des traitement analytiques simples en HQL. Performances Algorithmes existants Adapté à la propagation de scores Pas adapté pour l inférence Peu d algorithmes existant Structuration des données 13
Datameer http://www.datameer.com Solution commerciale In Hadoop Non Map Reduce Plateforme intégrée permettant de faire des reporting, de la visualisation, et de la propagation de modèles PMML via Zementis. Performances (réactivité) IHM agréable (Web) Datavisualisation Adapté à de la propagation de modèles Tarification (si > 1 To) Pas adapté pour l inférence Statistica / Statsoft http://www.statsoft.fr/ Solution commerciale On Hadoop Distribué non Map Reduce Plateforme Wintel adossée à un cluster Hadoop, permettant de réaliser des traitements Hive simplement, des modélisations sur données distillées, et du scoring via une solution dédiée. Simplification des manipulation sous Hive De nombreux algorithmes Datavisualisation Scoring parallélisés Tarification Besoin de structurer les données sous Hive Estimation sur données réduites 14
SAS High-Performance Data Mining http://www.sas.com/offices/europe/france/solu tions/high-performance-analytics/ Commercial In Hadoop Non Map Reduce In Memory Solution in memory déployée sur cluster Hadoop. Permet de réaliser l ensemble des traitements analytiques classiques sur des données structurées, Performances (réactivité) Programmation «classique» IHM agréable (Flowchart) Datavisualisation Tarification Contraintes hardware Limites du «In Memory» Structuration des données Revolution Analytics http://www.revolutionanalytics.com/ Solution commerciale On Hadoop Distribué non Map Reduce Adaptation de R à l utilisation des volumes importants de données. Permet de réaliser des traitements «side by side» avec Hadoop. Un nombre important d algorithmes est disponible. Performances Programmation style R Datavisualisation (non interactive) De nombreux algorithmes Tarification Absence de certains algorithmes de machine learning Architecture 15
IBM SPSS Modeler http://www-01.ibm.com/ software/analytics/spss/products/modeler Commercial In & On Hadoop Non Map Reduce Solution analytique de IBM combinant la possibilité de traitements Map Reduce en JAQL avec du streaming avec SPSS Modeler Intégration de composants multiples Intégration possible de R Méthodes «classiques» (SPSS) Eco système complet Tarification Dataiku http://www.dataiku.com Solution commerciale In & On Hadoop Non Map Reduce Plateforme intégrée rassemblant des solutions open source (Pig, Hive) permettant de faire des reporting, de la visualisation et des traitements analytiques en python (R et Mahout à venir) Programmation «classique» IHM agréable (Web, Flowchart) Facilité à mixer les outils (Pig + Scikit + Datavisualisation, ) Non map reduce Architecture 16
Alpine http://alpinenow.com Commercial On Hadoop Non Map Reduce Solution analytique construite sur Hive et Hbase permettant de réaliser des traitements analytiques via une interface de workflow IHM agréable (Flowchart) Datavisualisation Déploiement de modèles Approche base de données Estimation de données Données à inclure dans Hive ou HBase Skytree http://www.skytree.net Commercial On Hadoop Non Map Reduce Solution analytique prenant la forme d un web service pouvant être interfacé avec R, Weka, C++ et Python. Facilitateur d accès Nombreux algorithmes Sans IHM Hors Hadoop 17
TEMPS RÉEL Détection des Fraudes Targeting dynamique Personnalisation de l offre Outils légers temps réel REPORTING Anticipation de surcharge serveurs Suivi d indicateurs agrégés (courbes de charges, flux, ) Solutions Web et in memory SCORING Segmentation clients Valorisation Next best offert Solutions les plus complètes 19
Pérennité Choix d un éditeur Développement interne Dimensionnement des données analysées Analyse sur échantillonnage? Calcul segmenté? Spécificité des analyses Algorithmes standards? Approche industrielle ou R&D? Gestion des données ETL Distillation Prise en charge des données non structurées Avec des moyens adaptés Intégration avec l existant Format de stockage des données Mutualisation de la plateforme hadoop Combiner des outils Sous forme intégrée En mutualisant les compétences En minimisant les transformations de données Evolutivité Anticiper les besoins à venir Eviter le patchwork 20
Tarification de la solution + Montée en compétence des équipes + Accompagnement + Développement d algorithmes + Contraintes hardware + Impact sur les traitements existants + Montés de version + = 21
Analyses simples sur des volumes morcelés Analyses poussées sur des volumes importants Outils riches et complexes Solutions simples et rapides à mettre en œuvre
Merci! Présentation à retrouver sur : http://datascience.bluestone.fr/