Hadoop dans l’entreprise: du concept à la réalité. Pourquoi et comment? Jean-Marc Spaggiari | Cloudera [email protected] | @jmspaggi Mai 2014 1 Avant qu’on commence… 2 Agenda -Qu’est-ce que Hadoop et pourquoi – 25 minutes - Cas d’utilisation – 20 minutes - Questions – 15 minutes 3 Qu’est-ce que c’est et pourquoi? 4 Pourquoi Hadoop? Traditionnellement, les systèmes de traitement étaient limités par la capacité des processeurs: • Relativement petit volume de données • Beaucoup de traitements complexes. Solution initial: De plus gros ordinateurs: • Processeurs plus rapides, plus de mémoire; • Mais toujours pas capable de suivre le volume de croissance des données 5 Pourquoi Hadoop? Une solution encore meilleure: Plus d'ordinateurs • Systèmes distribués • Utilisation de plusieurs machines pour une même tache. • Pousser le traitement sur la donnée et non l’inverse. 6 In pioneer days they used oxen for heavy pulling, and when one ox couldn't budge a log, they didn't try to grow a larger ox. We shouldn't be trying for bigger computers, but for more systems of computers. —Grace Hopper Nouvelle approche Avant Pousser les données sur le traitement Pousser le traitement sur les données Compute Compute Data Compute Maintenant Entreprises «process-centric » utilisent: • Données structurées • Données internes • Données importantes Data Data Compute Structurées, semistructurées, non structurées, internes et externes. Data Compute 7 Compute Data ©2014 Cloudera and SAS. All rights reserved. Entreprises “Information-centric” utilisent TOUTES les données: Qu’est-ce que Hadoop? À mes enfants: • Quelqu’un a créé un logiciel qui aide le monde à résoudre de gros problèmes à moindre coûts. Il lui a donné le nom de la peluche de son fils. À ma femme: • C’est un logiciel qui permet à des centaines d’ordinateurs de travailler ensemble comme s’ils étaient un. Ce n’est pas cher, et quand on a besoin de plus de puissance, il suffit d’ajouter d’autres ordinateurs. 8 Qu’est-ce que Hadoop? Aux dirigeants d’entreprises: • Va vous aider à augmenter votre ROI et baisser vos coûts par TB. À mes amis: • C’est un peu comme un mélange de minority report et de skynet 9 Hadoop! 10 Ce qu’ont fait Google… • Conçu leur propre système de stockage et de traitement: Google File System • MapReduce • • Buts: Bon marché • « Scalable » • Fiable • 11 Google ont fait quelque chose de différent… • Ça fonctionne! • Supporte les services de Google depuis plusieurs années • Toujours utilisé aujourd’hui. 12 15 Google: Messages du futur • Google à gentiment publié: 2003: Google File System (GFS) • 2004: MapReduce • • Des technologies déjà matures. 16 Google: Messages du future • Pas d’adoption initiale de la communauté Les gens DB pensaient que ce n’était pas une bonne idée • Les Non-Google n’en étaient pas là. • • Google n’avait pas d’intérêts dans ces publications • 17 Modèle d’affaire sur les publicités, pas sur les infrastructures. Qu’est-ce que Hadoop? Stockage Hadoop “Node” • • • • • 18 HDFS Auto-correctif Large bande passante Stockage réparti Traitement MapReduce, Hive, Impala, Search… Traitement distribué Tolérance aux pannes Logiciel Open Source Stocker, Traiter, Analyzer Grand quantité de données, stockage brut Structurées, non-structurées, semi-structurées… ou une combinaison Hadoop = Schema on Read, RDBMS = Schema on Write Pourquoi Hadoop? Les faits. • Open source • Environ 60 committers de plus de 10 compagnies: • Cloudera, Yahoo!, Facebook, Apple, and more • Centaines de contributeurs: Nouvelles fonctionnalités; • Bug fix • • De très nombreux projets/applications/outils 19 reliés. Pourquoi Hadoop? Grand écosystem en croissance. Pig Zookeeper Impala 20 Pourquoi Hadoop? Qui l’utilise. 21 Pourquoi Hadoop? Intégration. BI/Analytics 22 ETL Database OS/Cloud/ System Mgmt. Hardware Core Hadoop Hadoop fourni 2 principaux composants: • Hadoop Distributed File System - HDFS • Map Reduce 23 HBase • Base de données non-sql distribué (low latency). • Base de données en colonnes. 24 Hive • Abstraction de base de données relationnelles utilisant un langage proche du SQL appelé HiveQL. • Utilise MapReduce pour exécuter les requêtes. 25 SELECT s.word, s.freq, k.freq FROM shakespeare JOIN ON (s.word= k.word) WHERE s.freq >= 5; Impala • Requêtes en temps réel. • Rapide, nativement en C++ • Utilise le même langage de requêtes que Hive. 26 Pig • Langage de script pour exécuter (entre autre) des opérations MapReduce. • Créé pour simplifier la créations/execution de taches MapReduce. • Peut être étendue avec des fonctions définies par l'utilisateur (UDF) 27 emps = LOAD 'people.txt’ AS (id,name,salary); rich = FILTER emps BY salary > 200000; sorted_rich = ORDER rich BY salary DESC; STORE sorted_rich INTO ’rich_people.txt'; Sqoop Effectue des transferts de données bidirectionels entre Hadoop et la plus part des bases de données. 28 Flume Système de cueillette et d’agrégation de flux pour des données massives et volumineuses comme par exemple services RPC, Log4J, Syslog, etc. 29 Client Agent Client Agent Client Agent Client Oozie Un “workflow engine” et un planificateur de taches construit spécialement pour orchestrer les processus à grande échelle. 30 ZooKeeper • Zookeeper est un moteur de consensus distribué. • Fourni des services prédéfinis pour, entre autre: • Élection de leaders; • Découverte de services; • Verrous et exclusions mutuelles distribuées. 31 Hue • Hue est une interface web utilisateur OpenSource pour les applications relative à Hadoop. • Hue comprend entre autre: • Explorateur de fichiers HDFS; • Concepteur et visualisateur de jobs MapReduce; • Éditeur de requêtes pour Hive, Impala, Pig, etc. • Oozie; • Et bien plus. 32 Mahout Libraire d’algorithmes de “machine learning” pour, entre autre: • • • • • 33 Recommandations basé sur le comportement; Regroupement de documents; Classification de catégories; Recommandations d’achats fréquents; Etc. Etc. • • • • 34 Spark Shark Storm … HDFS Block Replication Quand un fichier est ajouté, il est découpé en blocs. Taille des blocs = 128MB (défaut) Facteur de réplication = 3 File Blocks 2 1 2 5 4 5 Node 3 HDFS 1 Node 4 2 3 4 5 35 Node 2 Node 1 2 3 4 1 3 4 Node 5 1 3 5 Les cas d’utilisation. 38 Deux catégories de cas d’utilisation d’Hadoop Business Intelligence Advanced Analytics Applications Innovation et Avantage Retirer de l’information de TOUTES vos données. Traitement des données: ETL Offload Stockage des données: Ent. Data Hub La plupart des compagnies commencent ici! Effectuer le même travail, mais plus vite, mieux et moins chers. Efficacité opérationnelle 39 BI/DW Architecture Aujourd’hui Data Marts Source Source Unstructured data New data 40 Data Warehouse BI/DW Architecture Aujourd’hui Source Source Extract Transform Load Unstructured data 41 ? Store Transform Analyze Report Move ETL Tool Staging Server New data Archive (offline) Move Data Warehouse Data Marts Hadoop plus the Data Warehouse: BI/DW Architecture of Tomorrow Source Extract Transform Load Store Data Marts Transform Analyze Report Move Source Move Unstructured data New data 42 Data Warehouse Client exemple Institution financière américaine Avant Mainframe Défis: • Réduire les coûts; • Se conformer aux règlements imposant un plus gros volume de données pour les « stress tests » • Consolider et simplifier le traitement des données. 43 Après Mainframe Cluster Hadoop Warehouse Bénéfices: • Accès plus rapide à 6 fois plus de données; • Faible cout, architecture simplifiée; • Implémentation en quelques mois. Client exemple: Fournisseur de services téléphoniques Canadien Avant De 1% des données à 100% d’analyse! • Croissance exponentielle des données, générées par les nouveaux appareils des clients; • Analytique limité à 1% des données à cause des contraintes d’ETL et de stockage. • Nouvelle combinaison de Hadoop + DataWarehouse pour traiter 100% des données (un demi PB par jour!) • Énorme réduction des temps de traitement (de 4 jours à 53 minutes) • 90% de réduction du code des ETL 44 Telecom Services Filter & Split Event Monitoring Alerting Streaming ETL Complex Correlation Streaming ETL Data Warehouse Archive Storage Après Event Monitoring Telecom Services Filter & Split Alerting Hadoop Archive Storage ETL Correlation Stage 1 DWH Data Warehouse Client exemple: Agence Marketing Américaine FTP 45 ETL Database Client exemple: Agence Marketing Américaine FTP 46 ETL Database Hadoop Client exemple: Agence Marketing Américaine FTP 47 Hadoop ETL Database Client exemple: Agence Marketing Américaine FTP Hadoop ETL Bénéfices: • 300 fois plus de données après un an; • Performances accrues (30 minutes vs 6 semaines); • “Scalable”. 48 Database Summary: Hadoop adoption is a progression 4 Multi-workload analytic platform • Bring applications to data • Combine different workloads on common data (i.e. SQL +Search) • True BI agility 3 3 4 Self-service Exploratory BI • Simple search + BI tools • “Schema on read” agility • Reduce BI user backlog requests 2 Data Mgmt & Transformations EDH Servers Marts EDWs 49 Documents Storage Search Archives 1 • One source of data for all analytics • Define structure and publish • Significantly faster & cheaper 1 2 Active Archive • Full fidelity original data • Indefinite time • Lowest cost storage ERP, CRM, RDBMS, Machines Files, Images, Video, Logs, Clickstreams External Data Sources SAS & Cloudera Big data analytics in Cloudera Real-Time & Streaming Interactive Batch & SQL Visual Analytics Visual Statistics High-Performance Analytics In-Memory Statistics for Hadoop Visual Scenario Designer Visual Scenario Designer SAS® Event Stream Processing SAS® LASR™ Analytic Server HDFS 50 ©2014 Cloudera and SAS. All rights reserved. Visual Data Builder SAS/ACCESS® to Hadoop™ & to Impala™ SAS® Embedded Process “Hadoopable” Big Data: Indicateurs 1. 2. 3. 4. 5. Le client souhaite ajouter de nouvelles données Les besoins de stockage augmentent de façon spectaculaire Ressources de traitement insuffisantes pour répondre aux SLA internes de l'entreprise Analyses et ETLS existants à pleine capacité Pressions financières pour réduire les coûts informatiques Best Practice: Commencer avec des usescases opérationnels; Continuer avec des usescases analytiques 51 Thank You Jean-Marc Spaggiari [email protected] @jmspaggi 52