Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1
Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués Hadoop. MapReduce : framework logiciel pour le calcul distribué sur de hauts volumes de données (Merci Google). Hive : Hive est un data warehouse libre implémentant un langage de requête orienté SQL (HiveQL) dont la mise en œuvre se traduit par l exécution de jobs Map/Reduce orchestrés par Hadoop (Merci Facebook). Pig : language de haut niveau pour la création de programme MapReduce. Talend 2010 2
Big Data Architecture globale Hadoop Les projets Hadoop (partie 2) HBase : Base de données Hadoop. Utile pour des accès aléatoires, temps réels (lecture/écriture) sur des Big Data. Chukwa : framework open source pour le monitoring de plateforme Hadoop. Zookeeper : Service de coordination pour les applications distribuées (configuration, synchronization, etc). Talend 2010 3
Big Data Architecture globale Hadoop L écosystème Hadoop Talend 2010 4
Big Data Architecture globale Hadoop Les forces de Hadoop Facile à utiliser : moins de deux jours pour monter un cluster de test. Facilité d utilisation de la librairie MapReduce pour la résolution de problèmes basiques. Scalabilité : branchez un noeud, démarrez les modules et le tour est joué. Robuste : si un noeud de calcul tombe, ses tâches sont automatiquement réparties sur d autres noeud. Les blocs de données sont également répliqués. Crée spécialement pour les gros volumes. Etudes de cas : Facebook pour l analyse des logs, Google pour l analyse des requêtes, etc. Talend 2010 5
Big Data HDFS Qu est ce qu HDFS? Répartition des blocs: le moteur HDFS se charge de la répartition des blocs de données sur les racks. Vérification de la santé du cluster : les Datanodes envoient des signaux au Namenode. Ces signaux sont utilisés pour détecter des défaillances. Moteur de réplication : Le moteur HDFS répartie la charge de travail en terme d utilisation des disques et du réseau. Talend 2010 6
Big Data HDFS Talend 2010 7
Big Data MapReduce Qu est ce que MapReduce? MapReduce est un framework Java pour la création de programmes de calcul distribué. L étape du Map : le noeud père décompose un problème en plusieurs sous problèmes et les distribue aux noeuds fils. Un noeud fils peut également devenir père et rédécouper sa tâche. L étape du Reduce : les noeuds pères récupèrent les résultats des noeuds fils afin d agréger les résulats. Talend 2010 8
Big Data MapReduce L éxemple WordCount Dans cet exemple nous allons voir comment un programme MapReduce procède pour compter le nombre d occurrence de chaque mot dans un fichier d entrée Talend 2010 9
Big Data Et Talend dans tout cà? Pourquoi utiliser Talend? Entièrement en Java donc pleinement compatible avec les API Hadoop. Simplicité d utilisation : éditeur graphique vous permettant de générer du code. Richesse des connecteurs : plus de 500 connecteurs dans la solution dont une vingtaine pour Hadoop (HDFS, Hive, Pig, et beaucoup d autres très bientôt). Talend 2010 10
Big Data Et Talend dans tout cà? Utilisation de Sqoop Permet l import / export de données entre SGBD et plateforme HDFS. En partenariat avec Cloudera, à l origine du projet et spéciliste des infrastructure Hadoop. Talend 2010 11
Big Data Et Talend dans tout cà? Connecteurs HDFS / Hive Talend 2010 12
Big Data Et Talend dans tout cà? Générateur de code Pig Latin Sans Talend : Customers = load '/opt/data/customers.csv' as (FirstName, LastName, Adress, RegistrationDate, Revenue, StateCode); StateGroup = group Customers by StateCode; StateRevenue = foreach StateGroup generate group, SUM(Customers.Revenue) as sum; ValuableStates= filter StateRevenue by sum > 1000000; store ValuableStates into '/opt/data/beststates.csv'; Talend 2010 13
Big Data Et Talend dans tout cà? Générateur de code Pig Latin Avec Talend : Talend 2010 14
Big Data - Benchmarks Protocole (Partie 1) Pour chaque scénario, 3 jobs : un avec des composants java, un utilisant des composants FileScale, un utilisant les composants Hadoop / Hive. Plateforme de test (Hardware) Hadoop (1 node) MPX / Java CPU AMD Athlon 64 X2 Dual-Core (1.90Ghz) Bi Intel Xeon CPU QuadCore E5320 (1.86GHz) Mémoire 2 GB 14 GB Disque Dur 120Gb / 5400 RPM / 8MB Cache 1 TB / 7200 RPM / 32 MB Cache / RAID 0 Network 100 Mbits NC Talend 2010 15
Big Data - Benchmarks Protocole (Partie 2) Structure du fichier : id (INTEGER), first name (STRING), last_name (STRING), birthdate (DATE, DD-MM-YYYY), street (STRING), city (STRING), state (STRING) Exemple : Talend 2010 16
Big Data - Benchmarks Premier cas : Agrégation de données Scénario : Nombre de clients par ville Requête Hadoop / Hive : Talend 2010 17
Big Data - Benchmarks Premier cas : Agrégation de données Résultats Total of The Java program uses a tsortrow with the «sort on disk» and taggregatesortedrow Talend 2010 18
Big Data - Benchmarks Second cas: dédoublonnage des données Scenario : on dédoublonne les données sur les colonnes suivantes (prénom, nom, et date de naissance) Requête Hadoop / Hive : Talend 2010 19
Big Data - Benchmarks Second cas : Dédoublonnage de données Résultats The MPX job failed due to a bug (Bugtrack : 0015095) Talend 2010 20
Big Data - Benchmarks Troisième cas : filtrage de données Scenario : extraction des clients qui se prénomment Lyndon et vivent dans la ville de Trenton. Requête Hadoop / Hive : Talend 2010 21
Big Data - Benchmarks Troisième cas : filtrage de données Résultats Talend 2010 22