HADOOP, MAP REDUCE - Big Data Paris 2020 · 2 hadoop, mapreduce… une si courte histoire…...

4
HADOOP, MAP REDUCE... RETOUR SUR 10 ANS D’INNOVATIONS TECHNOLOGIQUES

Transcript of HADOOP, MAP REDUCE - Big Data Paris 2020 · 2 hadoop, mapreduce… une si courte histoire…...

HADOOP,MAP REDUCE... RETOUR SUR 10 ANS

D’INNOVATIONSTECHNOLOGIQUES

2

HADOOP,MAPREDUCE…

UNE SI COURTEHISTOIRE…

WWW.GUIDEDUBIGDATA.COM

HADOOP, MAPREDUCE… RETOUR SUR CES TECHNOLOGIES QUI ONT CHANGÉ LE VISAGE DE L’ANALYTIQUE

HADOOP, MAPREDUCE, YARN, SPARK…

SI CES NOMS N’ÉVOQUENT RIEN AU

NÉOPHYTE, ILS RASSEMBLENT À LEUR

SEULE ÉVOCATION TOUS LES FANTASMES

D’UNE DÉCENNIE SUR LE TRAITEMENT

GÉNÉRALISÉ DES BIG DATA. LEUR HISTOIRE

EST PARFOIS AMPLIFIÉE OU ROMANCÉE

(L’ÉLÉPHANT HADOOP ET LA FAMEUSE

PELUCHE DU FILS DE DOUG CUTTING…)

POUR APPORTER UN PEU DE

LÉGÈRETÉ À LA COMPLEXITÉ DE LEUR

MODE DE FONCTIONNEMENT. MAIS, DIX

ANS, APRÈS, L’ÉCOSYSTÈME HADOOP EST

TOUJOURS LA NORME ET CONTINUE DE

FASCINER.

PETITE REVUE DE TECH.

DÉBUT2000

La fondation Apache commence àtravailler sur Lucene, outil d’indexation de textes supposé créer une bibliothèque open source à échelle mondiale.

2002

Le besoin de créer un nouveau moteur de recherche de grande échelle se fait sentir pour collecter des données de diverscontenus pdf, html, word, etc… : c’est le projet Nutch de la fondation Apache.

2004

Jeffrey Dean et Sanjay Ghemawat,employés chez Google, créent l’algorithme MapReduce pour paralléliser les traitements de grands volumes de données sur plusieurs ser-veurs. MapReduce fonctionne alors sur Google File System.

2006

Doug Cutting, qui a mené les projets Lucene et Nutch et travaille désormais chez Yahoo, combine un système de fichierdistribué qu’il a créé (DFS) avec MapReduce et nomme ce framework Hadoop.

2009 Yahoo décide de rendre le code d’Hadoop public et le lègue à la fondation Apache

2010 Création des modules complémentaires : HBase, Hive, Pig, Zookeeper

2013 La version 2 d’Hadoop est disponible,

intégrant des fonctionnalités temps réel et un traitement in-memory grâce à la couche Yarn qui réduit l’utilisation de MapReduce au strict nécessaire

2 3

LA SILICON VALLEY ENPOINTE SUR LACREATION DUBIG DATA

QUELQUES BRIQUES DEL’ECOSYSTEME HADOOP

MapReduce, Google File System

Spark Hive

HDFS, Zookeeper

Kafka

Ecosystème Hadoop

Abstraction

Langage d'abstraction Hive

Pig

SQL

Phoenix

Hawq

Impala

Streaming

Ingestion streaming Kafka

Flume

Traitement streaming

Samza

Storm

Spark streaming

S4

Utilitaires

HUE

SCOOP

Oozie

Modèles de calcul

Interactif Spark

Tez

Batch

Mapreduce

Mahout

Hama

Stockage

BD distribuée HBase

Cassandra

Indexation de contenu

Lucene

ElasticSearch

Solr

Gestion

Gestion de ressources YARN

Mesos

Gestion des services ZooKeeper

Administration Ambari

Gestion de fichiers HDFS

Extrait de « Maîtrisez l’utilisation des technologies Hadoop » par Juvénal Chokogoué

3

4

HADOOP,MAPREDUCE…

WWW.GUIDEDUBIGDATA.COM

Hadoop Infrastructure

Interface Utilisateur HUE

Administration Ambari

Workflow Oozi

Coordination Zookeeper

Langage d'abstraction

Hive

Pig

Cascading

SQL

Impala

Phoenix

Hawq

Indexation de contenu

Lucene

Lucy

Solr

Intégration Sqoop

Temps réel

Storm

Samza

Spark Streaming

S4

Streaming Flume

Kafka

Gestionnaire de ressources YARN

MESOS

Modèles de calcul

MapReduce

Spark

Mahout

HAMA

Tez

Bases de données HBase

Cassandra

Système de fichier distribué HDFS

Extrait de « Maîtrisez l’utilisation des technologies Hadoop » par Juvénal Chokogoué

YARNPrincipale évolution constatée de l’écosys-tème Hadoop, YARN (Yet Another Resource Negotiator) permet à Hadoop d’utiliser d’autres modes de calcul que MapReduce et ainsi de viser le temps réel en dépassant le modèle de traitement en batch. Sa fonction : optimiser l’utilisation des ressources du clus-ter et les partager entre plusieurs modes de calcul. Ce changement fondamental dans le paradigme Hadoop a permis l’ouverture des plateformes vers le temps réel, le streaming et le in-memory.

SPARKC’est un moteur de calcul in-memory paral-lélisé particulièrement efficace pour le trai-tement des tâches répétitives (notamment à l’œuvre dans les travaux de machine learning). Il permettrait d’accélérer les traitements Hadoop standards jusqu’à cent fois. Parmi ses modules applicatifs, Spark Streaming, qui permet d’utiliser des données produites au fil de l’eau, serait l’un des plus en vogue…

TEZTez vise avant tout à optimiser MapReduce pour limiter la latence générée par l’utilisa-

tion de langages d’exécution comme HiveQL ou Pig Latin. Il est capable pour chaque re-quête d’obtenir le chemin le plus court d’exé-cution et de stocker les données en mémoire, là où MapReduce fonctionne sur disque. Cependant, contrairement à Spark, il n’est pas utilisable sur les tâches de machine learning.

HBASESGBD NoSQL en colonne. Littéralement : sys-tème de gestion de bases de données com-plexes (ne relevant pas du SQL), orienté en colonnes pour le requêtage. C’est l’un des premiers outils à avoir vu le jour pour entre-poser les données diverses sans forcément recourir à des outils d’indexation en amont… particulièrement pratique pour les gros vo-lumes ! La fonction première d’HBase est de stocker des données et de permettre un accès facilité et temps réel à celles-ci via l’écosys-tème Hadoop.

ZOOKEEPEROutil de coordination plébiscité par les déve-loppeurs, Zookeeper supervise les échanges entre les nœuds d’un cluster, permettant ain-si aux données et aux modules (HBase, Storm, etc.) de se synchroniser lors d’exécutions de

calculs parallèles. Il est particulièrement ef-ficace pour enlever aux développeurs le sou-ci d’une panne… leur permettant ainsi de se concentrer sur le codage de leurs applications métiers.

HIVEHive est l’un des tout premiers outils qui ait cherché à faciliter l’expérience de l’utilisateur en développant un langage proche du SQL (syntaxe HiveQL) pour effectuer des requêtes de calcul MapReduce.

PIGDans le même esprit que Hive, les créateurs de Pig ont développé un langage, Pig Latin, permettant un accès simplifié aux requêtes pour tous types d’utilisateurs (développeurs comme non-développeurs). Son champ d’ac-tion reste cependant plus important que Hive sur la complexité des requêtes (mais son utili-sation requiert un travail de formation et d’ap-prentissage).

STORMC’est un système qui combine gestion en streaming et traitement en streaming pour résoudre totalement les problèmes de latence

4 5

sur Hadoop. Le principal avantage de Storm est d’avoir ouvert les calculs en stream à un vaste champ d’utilisateurs métiers et à des problématiques de flux (utile pour les réseaux sociaux par exemple).

FLUMEL’idée de ce type d’outil est de permettre le transfert sous Hadoop de gros volumes de données de streaming. Cela permet notam-ment d’intégrer au fil de l’eau des données externes mais aussi internes pourvu qu’un système d’accès de type data lake ait été mis en place.

Inte

rvie

w

1/ VA-T-ON UN JOUR DÉPASSER HADOOP ?Depuis l’invention d’Hadoop et le passage d’une approche centralisée à une approche distribuée, il faut bien le dire : peu de para-mètres ont évolué dans l’outil. Yarn et Spark ont été les développements les plus notables, avec un objectif d’accélération des traite-ments, mais cela fait déjà 5 ans qu’ils ont vu le jour et les briques supplémentaires n’ont pas été particulièrement innovantes. Le socle, lui, est resté le même… et finalement ce n’est pas étonnant : une technologie révolution-naire comme celle-ci nécessite au moins un cycle de dix ou vingt ans pour commencer à être dépassée. Hadoop a résolu les problèmes de latence et de volume, ce qui était sa rai-son d’être. Aujourd’hui, ce sont les challenges applicatifs qui ont pris le relais et c’est donc au niveau de l’écosystème (et non de la plate-forme) Hadoop que se jouent désormais les prochaines avancées. On n’a pas besoin d’Ha-doop pour faire de l’IA, mais on a besoin de Spark, Kafka ou encore Samza !

2/L’IA, L’IOT, LA BLOCKCHAIN… EST-CE-QUE CES TECHNOLOGIES SONT SUSCEPTIBLES DE BOUSCULER L’ÉCOSYSTÈME HADOOP ?Hadoop n’est pas une fin en soi et le passage aux objets connectés va probablement ame-ner un changement de paradigme car HDFS est un traitement sur disque qui induit une latence inappropriée pour les volumes à gé-rer. Ce seront vraisemblablement les briques de traitement streaming (Spark Streaming, Storm, Kafka) qui assureront le travail direc-tement dans le capteur ou sur un hardware ré-cepteur. Mais pour l’instant, même s’il y a des travaux engagés sur ces questions, aucun édi-teur ne prend le risque de packager une offre.Quant à la Blockchain, Hadoop est tout à fait approprié pour assurer les traitements dans le framework global. Idem pour l’IA bien sûr…

3/… ET L’OPEN SOURCE ?L’Open Source a été au cœur du projet Big Data et on peut encore en mesurer ses béné-fices. Libérer la recherche de sa dimension commerciale, tout en favorisant un modèle communautaire, c’était la meilleure façon de booster l’innovation. Il faut continuer dans cette voie : je suis persuadé que les prochains développements viendront encore de l’Open Source…

4/ A-T-ON RÉUSSI À METTRE HADOOP AU NIVEAU DES MÉTIERS ?C’est vrai que la première préoccupation des entreprises a été de mettre Hadoop au niveau la DSI et des Data Analystes pour entrer tout de suite dans le vif du sujet. C’est aussi pour cela qu’ils ont eu tendance à plugger l’éco-système Hadoop sur des architectures exis-tantes. Et puis, une fois passée l’euphorie, ils se sont rendu compte que c’était l’utilisateur métier qui définissait l’adoption ou non de la technologie. C’est pour cela qu’il faut abso-lument qu’Hadoop se transforme pour être compatible SQL : la plupart des analystes tra-vaillent encore avec ce mode de requête, voire même sur Excel ou VBA. Et l’autre condition

pour qu’Hadoop soit totalement adopté au ni-veau opérationnel, c’est que l’on donne accès à l’ensemble des données en un point unique qui soit… Hadoop (et non une infinité de data warehouses en silos), comme le proposent les data lake actuellement.

5/ JUSTEMENT, VAUT-IL MIEUX PRIVILÉ-GIER UNE APPROCHE DATA LAKE OU UNE APPROCHE CLOUD ?Concrètement, s’ils veulent intégrer Hadoop dans leurs process, les DSI ont 3 stratégies qui se présentent : une intégration verticale, une intégration horizontale ou le Cloud.L’intégration verticale, elle consiste à ache-ter Hadoop dans une solution en package qui comprendra tous les modules que l’on a déjà évoqués. Le problème sera alors celui de la compatibilité avec les technologies de l’entre-prise car il faudra probablement du dévelop-pement spécifique pour interfacer leur SI.L’intégration horizontale, elle consiste à utili-ser Hadoop seul et l’exploiter avec des tech-nologies propriétaires. Forcément, cela offre de la flexibilité pour des entreprises qui ont déjà un gros capital technologique et des lo-giciel designés en interne selon des langages spécifiques… mais ce n’est pas accessible à tout le monde.

L’option Cloud semble alors la plus ouverte car elle permet d’utiliser Hadoop sans avoir à en supporter le coût ni la complexité. Pour les start-ups, c’est une façon de se lancer dans le Big Data et l’IA à moindre frais tout en lais-sant le temps à l’écosystème de mûrir. Reste à trouver une parade fiable à la question de la sécurité… un autre challenge pour les années qui viennent !

JUVENAL

CHOKOGOUÉ

AUTEUR ET LEAD DATA

ENGINEER EN

PRESTATION À LA

SOCIÉTÉ GÉNÉRALE

« Je suis persuadé

que les prochains

développements viendront

encore de l’Open Source »

5

Participez à Big Data Paris

les 11 & 12 mars 2019au Palais des Congrès

et profitez d’une opportunité

unique de vous informer et

networker avec l’ensemble

des acteurs de l’écosystème

Big Data.

Inscriptions surWWW.BIGDATAPARIS.COM/2019

HADOOP,MAP REDUCE... RETOUR SUR 10 ANS

D’INNOVATIONSTECHNOLOGIQUES