Aqui hadoop draft

346 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
346
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Aqui hadoop draft

  1. 1. INTRODUCTION -----------La première technologie qui vient à l esprit lorsque l on évoque aujourd hui le sujet du Big Data est Hadoop est le framework analytique Java développé au sein de la fondation Apache. Populaire, Hadoop reste toutefois un mystère pour nombre d utilisateurs. Pour mieux comprendre les fondements technologiques d Hadoop et les différentes briques qui le composent, LeMagIT s est plongé dans l histoire et l architecture du framework. Doug Cutting, Cloudera Doug Cutting, créateur d Hadoop, avec l éléphant qui servait de peluche à son fils, et est aujourd'hui la mascotte du framework Java Hadoop trouve ses racines dans les technologies propriétaires d analyse de données de Google. En 2004, le moteur de recherche a publié un article de recherche présentant son algorithme MapReduce, conçu pour réaliser des opérations analytiques à grande échelle sur un grand cluster de serveurs, et sur son système de fichier en cluster, Google Filesystem (GFS). Doug Cutting, qui travaillait alors sur le développement du moteur de recherche libre Apache Lucene et butait sur les mêmes problèmes de volumétrie de données qu avait rencontré Google, s est alors emparé des concepts décrits dans l article du géant de la recherche et a décidé de répliquer en open source les outils développés par Google pour ses besoins. Employé chez Yahoo, il s est alors lancé dans le développement de ce qui est aujourd hui le projet Apache Hadoop   pour la petite histoire, Hadoop est le nom de l éléphant qui servait de doudou à son jeune fils. Hadoop : un framework modulaire Hadoop n a pas été conçu pour traiter de grandes quantités de données structurées à grande vitesse. Cette mission reste largement l apanage des grands systèmes de Datawarehouse et de datamart reposant sur des SGBD traditionnelles et faisant usage de SQL comme langage de requête. La spécialité d Hadoop, ce serait plutôt le traitement à très grande échelle de grands volumes de données non structurées tels que des documents textuels, des images, des fichiers audio… même s il est aussi possible de traiter des données semi-structurées ou structurées avec Hadoop. HDFS : le système de gestion de fichier en cluster au cŀur d Hadoop Au cŀur du framework open source se trouve avant tout un système de fichiers en cluster, baptisé HDFS (Hadoop Distributed Filesystem). HDFS a été conçu pour stocker de très gros volumes de données sur un grand nombre de machines équipées de disques durs banalisés. Le filesystem HDFS est conçu pour assurer la sécurité des données en répliquant de multiples fois l ensemble des données écrites sur le cluster.
  2. 2. Par défaut, chaque donnée est écrite sur trois nŀuds différents. Il ne s agit pas du plus élégant des mécanismes de redondance, ni du plus efficace, mais étant donné que l on s appuie sur des disques durs SATA économiques, un cluster HDFS a le bénéfice d offrir une solution de stockage très économique par rapport à celui des baies de stockage traditionnelles. En l état, HDFS est optimisé pour maximiser les débits de données et non pas pour les opérations transactionnelles aléatoires. La taille d un bloc de données est ainsi de 64 Mo dans HDFS contre 512 octets à 4 Ko dans la plupart des systèmes de fichiers traditionnels. Cette taille de bloc s explique par le fait que Hadoop doit analyser de grandes quantités de données en local. Avec la version 2.0 d Hadoop, la principale faiblesse d HDFS a été levée : jusqu alors la gestion des métadonnées associées aux fichiers étaient la mission d un unique « name node » ; ce qui constituait un point de faille unique. Depuis la version 2.0 et l arrivée de la fonction HDFS High Availability, le "name node" est répliqué en mode actif/passif, ce qui offre une tolérance aux pannes. Un autre « défaut » d HDFS est que le système n est pas conforme au standard POSIX et que certaines commandes familières sur un filesystem traditionnel ne sont pas disponibles. Il est à noter que si HDFS est le système de fichiers par défaut d Hadoop, le framework peut aussi être déployé sur des systèmes tiers, souvent grâce à des couches de compatibilité. MapR, l un des pionniers d Hadoop, a ainsi développé son propre système de gestion de fichiers qui règle le problème de fragilité lié aux "name nodes" d HDFS (en distribuant les informations de métadonnées sur les nŀuds de données) et qui ajoute aussi des fonctions avancées comme les snapshots, la réplication ou le clonage. Plusieurs constructeurs de baies de stockage comme EMC, HP ou IBM ont aussi développé des couches de compatibilité HDFS au dessus de certaines de leurs baies ; ce qui leur permet de stocker les données d un cluster Hadoop. MapReduce : distribuer le traitement des données entre les nŀuds Le second composant majeur d Hadoop est MapReduce, qui gère la répartition et l exécution des requêtes sur les données stockées par le cluster. Le framework MapReduce est conçu pour traiter des problèmes parallèlisables à très grande échelle en s appuyant sur un très grand nombre de nŀuds. L objectif de MapReduce et de son mécanisme avancé de distribution de tà ¢ches est de tirer parti de la localité entre données et traitements sur le même nŀud de façon à minimiser l impact des transferts de données entre les nŀuds du cluster sur la performance. MapReduce est un processus en plusieurs étapes. Dans la phase « Map », le nŀud maitre divise le problème posé en sous-problèmes et les distribue entre nŀuds de traitement. Ces nŀuds peuvent en cascade distribuer à nouveau les tà ¢ches qui leur ont été assignées. Les réponses sont ensuite remontées de nŀuds en nŀuds jusqu au nŀud maitre ayant assigné les travaux à l origine. C est alors que s opère l étape "Reduce" : le nŀud maitre collationne les réponses remontant des nŀuds de traitement et les combine afin de fournir la réponse à la question posée à l origine. Il est à noter que les traitements Mapreduce s opèrent sur des données structurées sous la forme (clé, valeur) et que des mécanismes d optimisation assurent que les traitements sont distribués de telle sorte qu ils s opèrent au plus proche des données (c est-à -dire idéalement sur les neuds qui hébergent les données concernées). De nouveaux outils et langages pour faciliter les requêtes sur Hadoop
  3. 3. L'architecture de la distribution Hadoop d'Hortonworks Les API clés de MapReduce sont accessibles en Java, un langage certes populaire mais qui requiert des compétences bien plus pointues que la maîtrise d un langage d interrogation comme SQL. Plusieurs langages ont donc émergé pour tenter de simplifier le travail des utilisateurs d Hadoop, dont Pig et Hive. Né chez Yahoo, Pig est conçu pour traiter toute forme de données. Le langage de Pig est PigLatin, complété par un runtime destiné à exécuter les programmes rédigés en PigLatin. PigLatin a une sémantique assez simple. Il permet de charger des données, puis de les manipuler (appliquer des filtres, des groupements, des opérations mathématiques…). Chez Facebook, des développeurs ont quant à eux conçu Hive, pour permettre à des développeurs familiers du langage SQL de manipuler des données dans Hadoop. Hive dispose d un langage baptisé HQL (Hive Query Langage) dont la syntaxe est similaire à celle de SQL. Le service Hive découpe les requêtes en jobs MapReduce afin de les exécuter sur le cluster. Au fil des ans, Hadoop a continué à s enrichir de nouvelles applications, comme la base de données Hbase, qui fournit des services similaires au service BigTable de Google. Hbase est une base de données en colonnes (dans la mouvance NoSQL) qui s appuie sur le système de gestion de fichiers en cluster HDFS pour le stockage de ses données. Hbase est notamment utile pour ceux qui ont besoin d accès aléatoires en lecture/écriture à de grands volumes de données. La base intègre des fonctions de compression et de traitement « inmemory ». Parmi les autres composants connus, on peut aussi citer la technologie d apprentissage Apache Mahout, ainsi que la technologie d administration de cluster Zookeeper. Zookeeper est lui-même un service distribué qui permet de coordonner l ensemble des processus distribués sur le cluster, mais aussi de gérer les configurations de ses différents éléments. Un écosystème qui ne cesse de s enrichir Signalons pour terminer que le périmètre d Hadoop continue de s élargir, les différents développeurs de distributions Hadoop ajoutant progressivement de nouveaux composants, outils ou langages afin d enrichir les composants de base du framework. Cloudera a ainsi récemment publié Impala, sa technologie de query SQL massivement parallèle, pour le traitement en temps réel de données stockées dans Hbase ou dans HDFS. Dans le cadre de son projet Hawq, Pivotal a, quant à lui, porté sa base de données massivement parallèle Greenplum sur HDFS et étendu sa technologie de query aux données non structurées et semistructurées stockées sur HDFS. Et c est sans compter sur les multiples intégrations réalisées par des acteurs des bases de données traditionnelles et de l analytique, comme Teradata, Oracle ou Microsoft… Un signe évident du dynamisme de l écosystème Hadoop, mais aussi de sa relative jeunesse. SOLUTION COMMERCIALE -------------------L'année 2011 a vu l'émergence d'un nouveau champion dans le monde de la BI, Hadoop, un framework distribué d'analyse de données né chez Yahoo, mais inspiré de concepts théorisés par Google. Hadoop est aujourd'hui utilisé par de nombreux géants de l'internet pour leurs besoins massifs d'analyse de données (les différents clusters Hadoop de Yahoo utilisent près de 10 000 serveurs, et FaceBook en fait aussi un usage massif), mais il commence aussi à devenir populaire dans le monde des entreprises dans des secteurs comme la distribution, les banques, les télécoms… Venu du monde libre, Hadoop s'appuie sur des architectures distribuées typiques des environnements HPC ou cloud et fonctionne sur des clusters massifs de
  4. 4. serveurs x86 qui fournissent à la fois des capacités de calcul et de stockage. La couche stockage repose par exemple sur un système de fichier en cluster baptisé HDFS qui a la charge de gérer les teraoctets ou petaoctets de données réparties entre les nŀuds. La partie calcul est confiée à des composants comme MapReduce, un framework de programmation distribué. Encore relativement jeune, Hadoop fait l'objet de développements intenses, portés notamment par trois éditeurs qui se sont donnés pour mission de rendre la technologie "consommable" par de grandes entreprises. Ces trois sociétés sont à Hadoop ce que Red Hat, Suse et Ubuntu sont à Linux. Tout en contribuant massivement aux évolutions du code du framework libre, elles axent leurs efforts sur le packaging de la technologie - en produisant des distributions Hadoop "prêtes à l'emploi" -, et se distinguent les unes des autres en greffant sur le cŀur open source des briques plus ou moins propriétaires afin de simplifier l'administration du framework ou de doper ses performances. Cloudera : la première distribution commerciale du marché La plus connue des distributions Hadoop est sans doute Cloudera qui a été la première à faire parler d'elle en concoctant une distribution entreprise du framework. Basé dans la Silicon Valley et à San Francisco, Cloudera compte parmi ses dirigeants des pionniers de Hadoop chez Yahoo. La firme s'est récemment illustrée en signant un accord avec Oracle pour la fourniture de sa distribution dans l'appliance analytique exalytics du constructeur. Cloudera avait précédemment signé des accords pour la fourniture de sa distribution à Dell et NetApp. Selon Cloudera, l'adoption rapide Hadoop s'explique par ses attributs uniques par rapport aux technologies traditionnelles d'analyse de données. Comme l'explique Charles Zedlewski, le Vice-président produits de la firme, "mon point de vue est que pour qu'une technologie radicalement nouvelle soit adoptée par les entreprises elle doit être 10 fois meilleures que les technologies existantes. Si elle n'est que deux fois meilleure, les entreprises préfèrent conserver les technologies qu'elles connaissent et qu'elles maîtrisent. (…) Hadoop brille car il est dix fois plus évolutif ("scalable") que les technologies en place, dix fois plus économique et surtout dix fois plus flexible. Il est bien sûr plus mauvais que les technologies en place sur bien des domaines. Il est moins mature, peu d'utilisateurs sont formés à son utilisation et a un écosystème d'applications plus limité. Mais pour certains cas d'usage, Hadoop n'a pas de concurrent ce qui explique son adoption rapide". Quelles caractéristiques font d'Hadoop un tel succès ? "Historiquement pour obtenir de meilleurs résultats à partir d'un jeu de données, les entreprises devaient utiliser des algorithmes plus sophistiqués, ce qui veut dire plus de développement et une armada de docteurs en statistiques et en mathématiques pour imaginer ces algorithmes. Cela prend du temps et est coûteux" explique Charles Zedlewski. Hadoop aborde le problème différemment. Avec Hadoop, au lieu d'attaquer le problème avec plus d'ingénieurs, vous augmentez tout simplement la taille de votre jeu de données. La tendance actuelle dans le monde du traitement de données et de l'apprentissage est que dans la plupart des cas, l'utilisation de jeux de données plus volumineux produit de meilleurs résultats que l'usage d'algorithmes plus sophistiqués." C'est particulièrement vrai pour des applications comme l'analyse de risques, l'analyse de menaces, l'analyse de fraudes ou de crédit. De plus pour ce type d'application la flexibilité d'Hadoop et reine. Il n'est en effet pas nécessaire que les données utilisées se conforment à des schémas prédéfinis, contrairement aux datawarehouse traditionnels. Cloudera s'appuie sur un modèle 100 % open source et tire l'essentiel de ses revenus de ses activités de conseil, d'intégration et de support. MapR : Un modèle propriétaire et l'aval d'EMC
  5. 5. MapR, basé à San Jose, a fait un choix radicalement différent. La société, fondée il y a un peu plus de trois ans, a fait le choix de combiner un ensemble de technologies propriétaires avec certaines portions du framework libre Hadoop pour produire sa distribution. L'éditeur a ainsi développé sa propre couche de stockage (baptisée MapR Lockless Storage Services) en lieu et place du système de fichiers HDFS, habituellement utilisé par les distributions Hadoop - c'est d'ailleurs cette caractéristique qui a notamment séduit EMC qui a conclu un accord de revente stratégique avec MapR. Ce filesystem en cluster, qui maintient une compatibilité totale avec les API d'HDFS, permet à MapR de revendiquer des caractéristiques uniques tels qu'une plus grande résilience (la fonction de "namenode" est distribuée entre les nœuds), le support des snapshot, du mirroring et du partitionnement, mais aussi un accès natif en mode NFS au filesystem. Une autre nouveauté est l'aptitude à verser des données en continu dans le file system, contrairement à HDFS qui fonctionne en mode append (ou ajout). On peut ainsi envisager de lancer des traitements en quasi-temps réel au fur et à mesure de l'ingestion de nouvelles données. MapR revendique enfin des performances très supérieures à celles de ses concurrents. La distribution de l'éditeur est proposée dans une édition gratuite mais "limitée" - certaines fonctions de sont pas accessibles) baptisée M3. La déclinaison entreprise, qui inclut l'ensemble des fonctions ainsi que le support est quant à elle baptisée M5 (la fascination des fondateurs pour l'ingénierie d'une certaine marque automobile bavaroise ne serait pas étrangère au choix de ces appellationsⓦ). HortonWorks : né de la division Hadoop de Yahoo Enfin, le dernier arrivé sur la scène Hadoop, HortonWorks, n'est rien de moins qu'une "spin-off" de la division Hadoop de Yahoo, où est né Hadoop. Comme Cloudera, HortonWorks s'appuie sur un modèle 100 % open source pour sa distribution. Arrivé en retard sur le marché commercial, HortonWorks ne devrait finalement livrer sa première distribution, baptisée HDP1 qu'au premier trimestre 2012. HDP1 s'appuiera sur le cœur Hadoop 0.20.205 (ui est la base de la première version officielle du framework). Mais la firme entend se rattraper rapidement et prévoit une version 2, baptisée HDP2 pour le troisième trimestre. Cette version de la distribution s'appuiera sur Hadoop 0.23. Pour l'instant encore en version Alpha, cette version d'Hadoop devrait probablement servir de base à la prochaine génération du framework. Elle apportera par exemple des capacités de fédération de clusters HDFS (par exemple pour fédérer des clusters utilisant des nœuds différents). Elle devrait aussi éliminer certaines des restrictions actuelles en matière de name node d'HDFS. L'autre nouveauté importante sera l'arrivée d'une nouvelle mouture de MapReduce (nom de code YARN), qui séparera la gestion de ressources de la gestion des jobs (job scheduling). Cette mouture devrait notamment se traduire par des gains importants en matière de performances, avec des gains moyens de 100% sur l'ensemble des tâches. Un écosystème en pleine explosion Si l'agitation est palpable dans le monde des distributions Hadoop, c'est aussi le cas pour l'écosystème d'éditeurs autour de la distribution. Tous les géants de l'industrie ont ainsi annoncé un support d'Hadoop. On le notait précedemment, Dell, Netapp et Oracle ont signé avec Cloudera tandis qu'EMC optait pour MapR. Microsoft, de son côté prévoit d'ajouter le support d'Hadoop à Azure au premier semestre dans le cadre d'une collaboration avec HortonWorks. Mais le plus étonnant est sans doute l'enthousiasme suscité par la technologie chez les géants du décisionnel et des outils analytiques comme GreenPlum, Teradata, Informatica, Vertica (HP) et chez les spécialistes du décisionnel libre comme Talend, Jaspersoft ou Pentaho. Autant de fournisseurs qui en interfaçant leurs outils à Hadoop contribuent à une maturation rapide
  6. 6. de l'écosystème d'outils autour de la distribution. DEFINITIONS ---------Datawarehouse Le lieu de stockage intermédiaire des différentes données en vue de la constitution du système d'information décisionnel est appelé entrepôt de données (en anglais datawarehouse). Le datawarehouse est ainsi le lieu unique de consolidation de l'ensemble des données de l'entreprises. Le créateur du concept de DataWareHouse, Bill Inmon, le définit comme suit : « Un datawarehouse est une collection de données thématiques, intégrées, non volatiles et historisées pour la prise de décisions. » Ses principales caractéristiques sont donc les suivantes : Le datawarehouse est orienté sujets, cela signifie que les données collectées doivent être orientées « métier » et donc triées par thème Le datawarehouse est composé de données intégrées, c'est-à -dire qu'un « nettoyage » préalable des données est nécessaire dans un souci de rationnalisation et de normalisation Les données du datawarehouse sont non volatiles ce qui signifie qu'une donnée entrée dans l'entrepôt l'est pour de bon et n'a pas vocation à être supprimée Les données du datawarehouse doivent être historisées, donc datées Datamart Le terme Datamart (littéralement magasin de données) désigne un sous-ensemble du datawarehouse contenant les données du datawarehouse pour un secteur particulier de l'entreprise (département, direction, service, gamme de produit, etc.). On parle ainsi par exemple de DataMart Marketing, DataMart Commercial, ...
  7. 7. de l'écosystème d'outils autour de la distribution. DEFINITIONS ---------Datawarehouse Le lieu de stockage intermédiaire des différentes données en vue de la constitution du système d'information décisionnel est appelé entrepôt de données (en anglais datawarehouse). Le datawarehouse est ainsi le lieu unique de consolidation de l'ensemble des données de l'entreprises. Le créateur du concept de DataWareHouse, Bill Inmon, le définit comme suit : « Un datawarehouse est une collection de données thématiques, intégrées, non volatiles et historisées pour la prise de décisions. » Ses principales caractéristiques sont donc les suivantes : Le datawarehouse est orienté sujets, cela signifie que les données collectées doivent être orientées « métier » et donc triées par thème Le datawarehouse est composé de données intégrées, c'est-à -dire qu'un « nettoyage » préalable des données est nécessaire dans un souci de rationnalisation et de normalisation Les données du datawarehouse sont non volatiles ce qui signifie qu'une donnée entrée dans l'entrepôt l'est pour de bon et n'a pas vocation à être supprimée Les données du datawarehouse doivent être historisées, donc datées Datamart Le terme Datamart (littéralement magasin de données) désigne un sous-ensemble du datawarehouse contenant les données du datawarehouse pour un secteur particulier de l'entreprise (département, direction, service, gamme de produit, etc.). On parle ainsi par exemple de DataMart Marketing, DataMart Commercial, ...

×