Hadoop

Présentation et atouts

Hadoop est un logiciel open source qui permet de stocker des données et d'exécuter des applications sur des clusters d'équipements standard. Il permet de stocker massivement tout type de données, de disposer d'une énorme puissance de traitement et de gérer un nombre pratiquement illimité de tâches ou de travaux simultanés.

L'histoire de Hadoop

Avec le développement d'internet à la fin des années 1900 et au début des années 2000, des moteurs de recherche et des index ont été créés pour aider à localiser les informations pertinentes dans le contenu textuel. Dans les premières années, les résultats de recherche étaient renvoyés par des humains. Mais au fur et à mesure que le web passait de dizaines à des millions de pages, l'automatisation est devenue indispensable. Des robots d'indexation ont été créés, souvent dans le cadre de projets de recherche menés par des universités, et des start-ups de moteurs de recherche ont vu le jour (Yahoo, AltaVista, etc.).

hadoop-timeline-infographic

L'un de ces projets était un moteur de recherche open source appelé Nutch – créé par Doug Cutting et Mike Cafarella. Ils souhaitaient obtenir plus rapidement des résultats de recherche sur le web en répartissant les données et les calculs sur différents ordinateurs pour exécuter plusieurs tâches simultanément. À la même époque, un autre projet de moteur de recherche appelé Google était en cours. Il reposait sur le même concept – stocker et traiter les données de manière distribuée et automatisée afin d'obtenir plus rapidement des résultats de recherche pertinents sur le web.

En 2006, M. Cutting a rejoint Yahoo et a emmené avec lui le projet Nutch ainsi que des idées basées sur les premiers travaux de Google en matière d'automatisation du stockage et du traitement des données distribuées. Le projet Nutch a été divisé – la partie consacrée aux robots d'indexation est restée sous le nom de Nutch et la partie consacrée à l'informatique et au traitement distribués est devenue Hadoop (nom emprunté à l'éléphant en peluche du fils de Cutting). En 2008, Yahoo a lancé Hadoop en tant que projet open source. Aujourd'hui, le framework et l'écosystème de technologies Hadoop sont gérés et maintenus par la fondation à but non lucratif Apache Software Foundation (ASF), une communauté mondiale de développeurs de logiciels et de contributeurs.

 

Pourquoi Hadoop est-il important ?

  • Capacité à stocker et à traiter rapidement d'énormes quantités de données de toutes sortes. Avec des volumes et des variétés de données en constante augmentation, notamment en provenance des réseaux sociaux et de l'internet des objets (IoT), il s'agit là d'un élément clé.
  • Puissance de calcul. Le modèle de calcul distribué d'Hadoop traite rapidement les big data. Plus vous utilisez de nœuds de calcul, plus vous disposez de puissance de traitement.
  • Tolérance aux pannes. Le traitement des données et des applications est protégé contre les défaillances matérielles. Si un nœud tombe en panne, les tâches sont automatiquement redirigées vers d'autres nœuds afin de garantir que l'informatique distribuée ne soit pas perdue. Des copies multiples de toutes les données sont stockées automatiquement.
  • Souplesse. Contrairement aux bases de données relationnelles traditionnelles, il n'est pas nécessaire de prétraiter les données avant de les stocker. Vous pouvez stocker autant de données que vous voulez et décider plus tard de leur utilisation. Cela inclut les données non structurées telles que le texte, les images et les vidéos.
  • Faible coût. Le framework open source est gratuit et utilise des équipements standard pour stocker de grandes quantités de données.
  • Évolutivité. Vous pouvez facilement développer votre système pour traiter davantage de données en ajoutant simplement des nœuds. Les tâches administratives sont minimales.

Les enjeux de l'utilisation de Hadoop

Le programme MapReduce n'est pas adapté à tous les problèmes. Il convient aux demandes d'informations simples et aux problèmes qui peuvent être divisés en unités indépendantes, mais il n'est pas efficace pour les tâches analytiques itératives et interactives. MapReduce est gourmand en fichiers. Étant donné que les nœuds ne communiquent que par le biais de tris et de mélanges, les algorithmes itératifs nécessitent plusieurs phases de mélange de cartes et de réduction par lots pour aboutir. Cela crée plusieurs fichiers entre les phases de MapReduce et manque d'efficacité pour les calculs analytiques avancés.

La pénurie de talents est largement reconnue. Il peut être difficile de trouver des programmeurs débutants ayant des compétences suffisantes en Java pour être efficaces avec MapReduce. C'est l'une des raisons pour lesquelles les fournisseurs de services de distribution s'empressent d'ajouter la technologie relationnelle (SQL) à Hadoop. Il est beaucoup plus facile de trouver des programmeurs ayant des compétences en SQL qu'en MapReduce. De plus, l'administration Hadoop semble relever à la fois de l'art et de la science, car elle nécessite de faibles connaissances relatives aux systèmes d'exploitation, au matériel et aux paramètres du noyau Hadoop.

Sécurité des données. Un autre défi concerne la fragmentation des questions de sécurité des données, bien que de nouveaux outils et de nouvelles technologies fassent leur apparition. Le protocole d'authentification Kerberos est un grand pas vers la sécurisation des environnements Hadoop.

Gestion et gouvernance complètes des données. Hadoop ne dispose pas d'outils complets et faciles à utiliser pour la gestion des données, le nettoyage des données, la gouvernance et les métadonnées. Les outils de qualité et de normalisation des données font particulièrement défaut.



Fait amusant : "Hadoop" était le nom de l'éléphant jaune en peluche du fils de l'un de ses inventeurs.

Hadoop dans le monde d'aujourd'hui

La promesse d'un stockage et d'une puissance de traitement à faible coût et à haute disponibilité a attiré de nombreuses entreprises vers Hadoop. Pourtant, pour beaucoup d'entre elles, une question centrale demeure : Comment Hadoop peut-il nous aider avec les big data et l'Analytics ? Pour en savoir plus, cliquez ici !

Logo tdwi - Faire progresser toutes les données


À lire : Hadoop pour l'entreprise

Ce rapport complet de 40 pages sur les meilleures pratiques de TDWI explique comment Hadoop et ses implémentations évoluent pour permettre des déploiements d'entreprise qui vont au-delà des applications de niche.

Télécharger le rapport de TDWI

icône Rapport


Le vilain petit canard devenu cygne

C'est ainsi que le Bloor Group présente l'écosystème Hadoop dans ce rapport qui explore l'évolution et les options de déploiement de Hadoop. Il comprend un historique détaillé et des conseils sur la manière de choisir une distribution adaptée à vos besoins.

Télécharger le rapport

icône Webcast

Préparation des données en libre-service pour l'analytique

Vous voulez savoir comment obtenir des informations plus rapidement en donnant aux utilisateurs professionnels un accès direct aux données ? Ce webinaire montre comment les outils en libre-service comme SAS Data Preparation permettent aux utilisateurs non techniques d'accéder de manière indépendante aux données et de les préparer pour l'analytique.

Voir le webinaire

icône de l'e-book


Aperçu de SAS et Hadoop

Familiarisez-vous avec les concepts Hadoop et SAS afin de comprendre et d'utiliser la technologie qui répond le mieux à vos besoins. Rendez-vous sur cette page pour savoir comment la technologie SAS interagit avec Hadoop.

Obtenir une vue d'ensemble

Data management for Hadoop

Big data skills are in high demand. Now business users can profile, transform and cleanse data – on Hadoop or anywhere else it may reside – using an intuitive user interface.

Learn more about Hadoop data management from SAS

Comment Hadoop est-il utilisé ?

Au-delà de son objectif initial de chercher dans des millions (ou des milliards) de pages web pour trouver des résultats pertinents, de nombreuses entreprises considèrent Hadoop comme leur prochaine plate-forme de big data. Voici quelques utilisations courantes aujourd'hui :

Stockage et archivage de données à faible coût

Le coût modeste de l'équipement standard rend Hadoop utile pour le stockage et la combinaison de données telles que les données transactionnelles, les réseaux sociaux, les capteurs, les machines, les données scientifiques, les flux de clics, etc. Le stockage à faible coût vous permet de conserver des informations qui ne sont pas jugées critiques pour l'instant, mais que vous pourriez vouloir analyser plus tard.

Sandbox pour la découverte et l'analyse Hadoop

Puisque Hadoop a été conçu pour traiter des volumes de données de formes diverses, il peut exécuter des algorithmes analytiques. L'analyse des big data sur Hadoop peut aider votre entreprise à fonctionner plus efficacement, à découvrir de nouvelles opportunités et à obtenir un plus grand avantage concurrentiel. L'approche "sandbox" permet d'innover avec un investissement minimal.

Data lake

Les data lakes permettent de stocker les données dans leur format original ou exact. L'objectif est d'offrir une vue brute ou non raffinée des données aux scientifiques et data scientists à des fins de découverte et d'analyse. Cela les aide à poser sans contraintes des questions nouvelles ou difficiles. Les data lakes ne remplacent pas les entrepôts de données. En fait, la manière de sécuriser et de gouverner les data lakes est un grand sujet pour les services informatiques. Ils peuvent s'appuyer sur des techniques de fédération de données pour créer des structures de données logiques.

Compléter votre entrepôt de données

Nous constatons aujourd'hui que Hadoop commence à prendre place aux côtés des environnements d'entrepôt de données, que certains ensembles de données sont transférés des entrepôts de données vers Hadoop ou que de nouveaux types de données vont directement vers Hadoop. L'objectif final de chaque entreprise est de disposer d'une plate-forme adéquate pour stocker et traiter des données de différents schémas, formats, etc. afin de prendre en charge différents cas d'utilisation qui peuvent être intégrés à différents niveaux.

IoT et Hadoop

Les objets de l'IoT doivent savoir quoi communiquer et quand agir. Au cœur de l'IoT, on trouve un torrent de données en continu. Hadoop est souvent utilisé comme stockage de données pour des millions ou des milliards de transactions. Ses capacités massives de stockage et de traitement vous permettent également d'utiliser Hadoop comme un sandbox pour la découverte et la définition de patterns à surveiller pour l'instruction prescriptive. Vous pouvez ensuite continuer à améliorer ces instructions, car Hadoop est constamment mis à jour avec de nouvelles données qui ne correspondent pas aux patterns précédemment définis.

 

 

Construire un moteur de recommandation avec Hadoop

L'une des utilisations analytiques les plus populaires parmi les plus grands utilisateurs d'Hadoop est celle des systèmes de recommandation basés sur le web. Facebook – les personnes que vous pourriez connaître. LinkedIn – les emplois qui pourraient vous intéresser. Netflix, eBay, Hulu – les articles que vous pourriez vouloir. Ces systèmes analysent d'énormes quantités de données en temps réel pour prédire rapidement les préférences avant que les clients ne quittent la page web.

Comment : Un système de recommandation peut générer un profil utilisateur explicitement (en interrogeant l'utilisateur) et implicitement (en observant le comportement de l'utilisateur) – puis comparer ce profil à des caractéristiques de référence (observations d'une communauté entière d'utilisateurs) pour fournir des recommandations pertinentes. SAS fournit un certain nombre de techniques et d'algorithmes pour créer un système de recommandation, allant des mesures de distance de base à la factorisation matricielle et au filtrage collaboratif – le tout pouvant être réalisé au sein de Hadoop.

Découvrez comment créer des systèmes de recommandation dans Hadoop et plus encore.

Je pense que Hadoop a atteint un niveau de maturité tel que l'on peut générer avec succès des applications complexes et de grande envergure sur cette plate-forme. Hadoop a répondu à nos exigences en matière d'évolutivité pour le traitement de types de données importants et variés.
Bob Zurek, Vice-président senior des produits chez Epsilon dans Hadoop for Enterprise, un rapport des meilleures pratiques de TDWI

.

Hadoop, analytics and the data scientist


Like coding? You’ll love this. An all-in-one, interactive environment gives you everything you need to get accurate insights from data in Hadoop. At lightning-fast speed.

Learn more about analytics on Hadoop from SAS

Fonctionnement et glossaire Hadoop

Actuellement, le framework de base de la Fondation Apache comprend quatre modules principaux :

Hadoop Common – les bibliothèques et les utilitaires utilisés par les autres modules Hadoop.

Hadoop Distributed File System (HDFS) – un système évolutif basé sur Java qui stocke les données sur plusieurs machines sans organisation préalable.

YARN – ("Yet Another Resource Negotiator") assure la gestion des ressources pour les processus fonctionnant sur Hadoop.

MapReduce – un framework logiciel de traitement parallèle. Il se compose de deux étapes. L'étape Map est le nœud Master qui prend les données d'entrée et les divise en sous-problèmes plus petits qu'il distribue ensuite aux nœuds Worker. Une fois l'étape Map terminée, le nœud Master rassemble les réponses à tous les sous-problèmes et les combine pour produire un résultat.

Voici d'autres composants logiciels qui peuvent fonctionner sur ou avec Hadoop et qui ont obtenu le statut de projet Apache de haut niveau  :

AmbariUne interface web pour gérer, configurer et tester les services et composants Hadoop.
CassandraUn système de base de données distribué.
FlumeUn logiciel qui collecte, agrège et déplace de grandes quantités de flux de données dans HDFS.
HBaseUne base de données distribuée non relationnelle qui s'exécute au-dessus de Hadoop. Les tableaux HBase peuvent servir d'entrée et de sortie pour les travaux MapReduce.
HCatalogUne couche de gestion des tableaux et du stockage qui aide les utilisateurs à partager et à accéder aux données.
HiveUn langage de requête qui ressemble à un entrepôt de données et au SQL, et qui présente les données sous forme de tableaux. La programmation Hive est similaire à la programmation d'une base de données.
OozieUn planificateur de tâches Hadoop.
PigUne plate-forme de manipulation des données stockées dans HDFS qui comprend un compilateur pour les programmes MapReduce et un langage de niveau supérieur appelé Pig Latin. Elle permet d'effectuer des extractions, des transformations et des chargements de données, ainsi que des analyses de base sans avoir à écrire de programmes MapReduce.
SolrUn outil de recherche évolutif qui comprend l'indexation, la fiabilité, la configuration centrale, le basculement et la récupération.
SparkUn framework de calcul en clusters open source avec des analyses en mémoire.
SqoopUn mécanisme de connexion et de transfert qui déplace les données entre Hadoop et les bases de données relationnelles.
Zookeeper   
Une application qui coordonne le traitement distribué.

Distributions commerciales d'Hadoop

Le logiciel open source est créé et maintenu par un réseau de développeurs du monde entier. Il est possible de le télécharger, de l'utiliser et d'y contribuer gratuitement, bien que de plus en plus de versions commerciales de Hadoop soient disponibles (elles sont souvent appelées "distros"). Avec les distributions proposées par les fournisseurs de logiciels, vous payez pour leur version du framework Hadoop et vous recevez des capacités supplémentaires liées à la sécurité, à la gouvernance, au SQL et aux consoles de gestion/administration, ainsi que de la formation, de la documentation et d'autres services. Les distros les plus populaires sont Cloudera, Hortonworks, MapR, IBM BigInsights et PivotalHD.

 


Stocker des données dans Hadoop

Voici quelques moyens d'introduire vos données dans Hadoop.

  • Utiliser des connecteurs de fournisseurs tiers (voir Connecteurs de données).
  • Utiliser Sqoop pour importer des données structurées d'une base de données relationnelle vers HDFS, Hive et HBase. Il peut également extraire des données de Hadoop et les exporter vers des bases de données relationnelles et des entrepôts de données.
  • Utiliser Flume pour charger en continu des données depuis des logs vers Hadoop.
  • Charger des fichiers dans le système à l'aide de simples commandes Java.
  • Créer un job Cron pour rechercher de nouveaux fichiers dans un répertoire et les "placer" dans HDFS au fur et à mesure qu'ils apparaissent. Ceci est utile notamment pour le téléchargement d'e-mails à intervalles réguliers.
  • Monter HDFS en tant que système de fichiers et y copier ou écrire des fichiers.

Big Data, Hadoop et SAS

Le support de SAS pour les implémentations Big Data, y compris Hadoop, est centré sur un objectif unique : vous aider à en savoir plus, plus rapidement, afin que vous puissiez prendre de meilleures décisions. Quelle que soit la façon dont vous utilisez la technologie, chaque projet doit passer par un cycle d'amélioration itératif et continu. Cela comprend la préparation des données et la gestion des données, la visualisation des données et l'exploration, le développement de modèles analytiques, le déploiement et le suivi des modèles. Vous pouvez ainsi obtenir des informations et transformer rapidement vos données Hadoop en opportunités plus importantes.

SAS se concentre sur l'analyse et non sur le stockage. C'est pourquoi nous proposons une approche flexible pour le choix des fournisseurs de matériel et de bases de données. Nous pouvons vous aider à déployer la bonne combinaison de technologies, y compris Hadoop et d'autres technologies d'entrepôt de données.

N'oubliez pas que le succès d'un projet est déterminé par la valeur qu'il apporte. Ainsi, des mesures basées sur la génération de revenus, les marges, la réduction des risques et l'amélioration des processus aideront les projets pilotes à être mieux acceptés et à susciter davantage d'intérêt de la part des autres départements. Nous avons constaté que de nombreuses entreprises commencent par mettre en œuvre un ou deux projets dans Hadoop, avec l'intention d'en ajouter d'autres plus tard.

En savoir plus sur SAS et Hadoop