Retour sur Hadoop Summit Bruxelles 2015
Hadoop Summit est LA conférence Hadoop en Europe à ne pas rater et Zenika y était. Avec plus de 1300 participants et jusqu’à 7 sessions en parallèle, les amateurs de big data sont sûrs de ne pas s’ennuyer. Nous vous proposons un retour sur les sessions que nous avons suivies lors de cet événement exceptionnel.
NB : les slides des présentations seront disponibles sur Slideshare
Keynote du 15 avril 2015
Par Rob Bearden (Hortonworks), Mike Gualtieri (Forrester Research), T.K. “Ranga” Rengarajan (Microsoft), Arun Murthy (Hortonworks), Irfan Khan (SAP), John Iley (Formula One Racing)
Lors de cette keynote, les différents intervenants ont insisté sur l’importance des données et la carte à jouer que les technologies Hadoop ont dans le traitement et la gouvernance de ces immenses volumes de données. Plusieurs retours d’expérience ont été présentés, et pas seulement chez les “grands” du web.
A retenir : Hadoop et son écosystème sont en passe de devenir “mainstream”, car ils sont maintenant beaucoup plus accessibles. A noter aussi, la création de la plateforme Hadoop commune ODP (Open Data Platform), qui sera le socle commun des distributions Hadoop de Hortonworks et de Pivotal.
Apache Tez – Present and future
Par Jeff Zhang (Hortonworks), Rajesh Balamohan (Hortonworks)
Tez est un moteur d’exécution distribué ; pour faire simple, une version 2 de MapReduce sur Hadoop. Plus puissant, flexible et surtout plus rapide que MapReduce, il tourne déjà sous le capot de Hive et de Pig. Avec Tez, des traitements complexes comme des jointures ou des tris s’exécutent beaucoup plus rapidement qu’en MapReduce traditionnel. Les raisons : moins d’IO réseau et sur HDFS, moins de jobs générés. Pour certains traitements, les traitements sont 100 fois plus rapide qu’en MapReduce. Tez est en cours de développement, mais ces API sont stables et les équipes de développement continuent de l’améliorer.
A retenir : Tez devient le moteur d’exécution pour de plus en plus d’outils (Hive, Pig, Cascading). Même si MapReduce n’est pas amené à disparaître immédiatement, il est clair que nous sommes maintenant dans une deuxième génération d’outils (Tez, Spark, Flink).
Hive now Sparks
Par Xuefu Zhang (Cloudera), Rui Li (Intel)
Voir les slides
Après MapReduce et Tez, Hive peut maintenant fonctionner sous Spark ! Cette initiative est récente, mais donne de bons résultats d’après ses créateurs. L’idée est donc de combiner Hive et Spark pour avoir du SQL exécuté parrallélement sur Hadoop. Les intervenants ont présenté des benchmarks entre MapReduce, Tez et Spark. MapReduce est bien sûr bien plus lent, tandis que Tez et Spark sont très proches. Tez sur Hive a encore une petite longueur d’avance sur certains types de requêtes, car il dispose d’optimisations pas encore implémentées dans Hive sur Spark.
A retenir : Encore une tentative de SQL sur Hadoop, avec deux poids lourds de l’écosystème, Hive et Spark. Des débuts prometteurs, à suivre.
The missing piece in Big Data Security: HDFS Encryption at Rest
Par Charles Lamb (Cloudera), Andrew Wang (Cloudera)
Les 2 ingénieurs de Cloudera ont présenté une solution d’encryptage au niveau HDFS. Cette solution est transparente pour les applications, elle demande par contre l’installation de serveurs supplémentaires pour notamment gérer la distribution de clés de cryptage. L’idée est que seule l’application puisse vraiment lire et écrire les fichiers et pas l’administrateur du serveur de clés, ni l’administrateur HDFS. L’encryptage a un impact sur les performances, mais tout à fait acceptable (7,5 % en lecture, négligeable en écriture). Ces tests ont été effectués avec des processeurs Intel qui disposent de l’extension AES-NI (à noter que Intel est le principal investisseur dans Cloudera).
A retenir : la sécurité dans Hadoop est un sujet récurrent. Peut-être un signe de maturité de ces technologies.
Architecting a scalable Hadoop platform: top 10 considerations for success
Par Sumeet Singh (Yahoo)
Fort de son expérience Hadoop chez Yahoo (qui dispose de clusters Hadoop de plusieurs milliers de noeuds), Sumeet Singh cite les éléments clés pour réussir avec Hadoop. Citons notamment le choix de l’infrastructure (cloud ou chez soi), le réseau (il a particulièrement insisté sur ce point qui est souvent omis), la sécurité (encore), la gouvernance et l’intégration avec les autres systèmes (notamment pour les partenariats avec des entreprises qui fournissent des données à Yahoo). Il en a aussi profité pour tordre le cou à certains mythes (“debunking myths”), comme le fameux “Hadoop is dead”.
A retenir : Yahoo nous fait profiter de son expérience sur Hadoop. C’est tout à son intérêt, étant un des gros sponsors du projet.
Guideline for productive full stack engineers
Par Rafal Wojdyla (Spotify)
Spotify maintient un cluster d’environ 1300 noeuds. L’intervenant est administrateur du cluster, il insiste sur l’importance de l’automatisation (avec des outils comme Ambari ou Cloudera Manager). Coté développement, Spotify a commencé avec Hadoop Streaming pour pouvoir développer en Python. Cette solution s’est révélée finalement loin d’être parfaite (lenteur et fiabilité) et ils sont ensuite passés à du Java avec Apache Crunch et Cascading, ainsi que Pig et Hive. Les frameworks type API (Crunch, Cascading) se sont avérés un meilleur choix que Hadoop Crunching. En plein engouement autour de Spark, Spotify avoue l’avoir black-listé pour l’instant, suite à des résultats décevants sur des jeux de données importants (environ 1 To de données en shuffling).
A retenir : un retour intéressant d’une société qui a remporté un grand succès grâce à Hadoop.
Implementing the Lambda architecture efficiently with Apache Spark
Par Michael Hausenblas (MapR)
Avec un titre pareil, impossible de rater le call for papers d’une conférence Big Data ! L’intervenant revient sur l’architecture Lambda (un livre, des couches, des technologies) et la possibilité de l’implémenter avec Spark (pour la couche batch) et Spark Streaming (pour la couche speed).
A retenir : une session un peu pépère, puisqu’une rapide recherche sur l’architecture Lambda et un tutorial sur Spark ferait aussi bien que le contenu de la présentation. On attend mieux d’une société comme MapR. On risque cependant d’appliquer les techniques de l’architecture Lambda dans les années à venir.
ORC 2015: Faster, better, smaller
Par Gopal Vijayaraghavan (Hortonworks)
ORC signifie “Optimized Row Columnar”, il s’agit d’un format de fichiers utilisé principalement dans Hive. Les formats orientés colonnes comme Parquet ou ORC sont particulièrement adaptés lorsque que l’on souhaite ne lire qu’une partie des champs d’un jeu de données. C’est aussi via ORC que des fonctionnalités avancées de Hive (update, transactions) sont implémentées. Facebook a par exemple économisé 1400 serveurs de stockage en passant des données sous ORC (optimisation de stockage et de compression). Spotify a diminué l’utilisation CPU d’un facteur de 32 et fait 16 fois moins d’IO en lecture en étant passé de Avro à ORC. ORC n’est pas une balle d’argent, mais est simplement plus adapté à certains cas d’usage, il n’est par exemple pas adapté des structures organisées en arbres.
A retenir : ORC fait partie de l’initiative Stinger, tout comme Tez. L’idée est de faire passer le temps de réponse de Hive en dessous de la seconde. Les améliorations annoncées sont impressionnantes et l’équipe Hortonworks touche au but. ORC est pour l’instant défini directement dans Hive, mais il va devenir un projet Apache “top-level” dans les mois qui viennent. ORC deviendra plus facile à intégrer dans d’autres outils.
Docker based Hadoop provisioning
Par Jan
os Matyas (SequenceIQ)
Janos présente Cloudbreak, “Hadoop as a service API”. L’idée est de pouvoir déployer des clusters Hadoop avec le moins de configuration possible, à partir de blueprint. Cloudbreak est basé sur des technologies Hadoop classiques (Ambari), mais aussi des outils très en vogue dans le monde DevOps : Docker (container), Swarm (clustering pour Docker) et Consul (DNS, service discovery, serveur de configuration). Un outil très jeune, basée sur des technos… jeunes. Mais la valeur n’attend pas le nombre des années comme dit l’autre.
A retenir : Le produit de cette startup qu’Hortonworks vient de racheter se propose de rendre le déploiement de clusters Hadoop aussi simple qu’un click. A suivre.
Real insights, Real-time : bridging batch and real-time systems for anomaly detection
Par Costin Leau (Elastic)
Costin nous présente une solution utilisant des composants tels que Elasticsearch, Hadoop et Spark pour détecter les données pertinentes dans les énormes flux de données à traiter. Le challenge consiste à écarter le bruit et détecter ce qui n’est pas commun pour analyser le plus finement possible les anomalies. L’architecture proposée se base sur l’utilisation d’Elastic+Spark+Hadoop permettant à la fois des analyses en temps réel (idéal pour prévenir les fraudes avant qu’elles n’arrivent) et en mode batch.
A retenir : Spark remplace Storm dans une ancienne présentation de Costin, est-ce un message ?
Protecting Enterprise Data in Hadoop
Par Owen O’Malley (Hortonworks)
Owen rappelle les règles de base de la sécurité d’un cluster Hadoop :
- sur un petit cluster, un firewall est suffisant pour commencer
- Knox fournit une gateway http
- se reposer sur les utilisateurs du cluster et leurs permissions
- il faut éviter les répertoires avec des droits en 777 !
- il faut minimiser l’espace des utilisateurs
- il faut utiliser les ACLs etc.
- à lire : HDFS Permissions Guide
- utiliser HDFS encryption
Anecdote : le cluster de Facebook n’est pas protégé ! C’est certainement la raison pour laquelle, dans Hive (qui vient de FB), la sécurité fut longtemps absente ou presque (sur d’anciennes versions, on peut s’accorder soit-même tous les droits!)
A retenir : souvent pour de mauvaises raisons, on voit des clusters ouverts à tout vent, car c’est plus simple à gérer, il est donc important de rappeler des règles simples à mettre en oeuvre pour sécuriser les données d’un cluster.
Building scalable event detection pipelines with Apache Kafka
Par Jeff Holoman (Cloudera)
Présentation d’une architecture basée sur Kafka pour la détection d’événements. Une introduction à ce genre de traitement est disponible sur le blog de Cloudera
A retenir :
- pour la sérialisation des données, préférez Avro(http://avro.apache.org/) à JSON
- pour Kafka, développez une lib de producer/consumer qui évite aux développeurs de réinventer la roue
- utilisez Flume pour l’ingestion des données (dans HBase ou HDFS)
Beyond the tweeting toaster : IoT streaming analytics with Apache Storm, Kafka and Arduino
Par P.Taylor Goetz (Hortonworks)
Voir les slides
Constat : il y aura 26 milliards d’objets connectés d’ici 2020 et les capteurs s(er)ont partout : téléphones, voitures, bracelets, … Il n’y pas de limite aux cas d’utilisation ! Le speaker présente un exemple d’architecture de traitement de données venant de capteurs basée sur Kafka et Storm (pour la couche analyse).
A retenir : l’IoT est un sujet majeur des années à venir et les chaînes de traitement des données venant de ces objets restent à définir, même si on perçoit que Kafka (ou tout autre système de queues), Storm (ou tout autre système de traitement massivement parallèle) et HDFS (ou tout autre stockage de masse) sont les éléments incontournables de ce futur.
Real-time stream processing with Apache Flink
Par Marton Balassi (Data Artisans) et Gyula Fora (SICS) Voir les slides
Présentation d’Apache Flink un moteur de traitement de données, que l’on peut placer comme concurrent à Storm ou Spark.
A retenir : malgré son manque de visiblité vis-à-vis de ses principaux concurrents, Flink est à suivre !
Driving enterprise data governance for big data systems through Apache Falcon
Par Srikanth Sundarrajan et Naresh Agarwal (InMobi)
Ce talk présentait les concepts du projet Apache Falcon. Il s’agit d’un framework dédié à l’orchestration des traitements des données dans des clusters Hadoop : il permet à ses utilisateurs de définir les actions à réaliser sur leurs données (mouvement des données, traitements, …). Ce framework repose notamment sur Oozie pour la partie scheduling et HCatalog pour les metadata.
A retenir : si ce genre de framework s’avère indispensable dans une entreprise pour la gouvernance des données, il devra s’équiper de clients haut niveau pour s’adresser au plus grand nombre.
How (the Internet of) Things are turning the Internet upside down
Par Ted Dunning (MapR) Voir les slides
Ted Dunning évoque le fait que l’IoT change l’architecture d’Internet : nous passons d’un monde où les données allaient des serveurs (peu nombreux) vers des clients (nombreux) à un monde où les objets (très nombreux) envoient leurs données vers des serveurs. De plus, suite à cette acquisition de données, il est alors nécessaire de stocker et d’analyser ces données qui sont essentiellement des time series. Ted évoque la solution OpenTSDB, base de données reposant sur HBase dédiée à la gestion de time series. OpenTSDB offre une API et des outils de base pour insérer et lire des données typées time series et qui se définissent par le tuple (nom de la métrique, timestamp, valeur, ensemble de paires clé/valeur décrivant la time serie à laquelle appartient la valeur). Une communauté existe et fournit des clients plus évolués pour OpenTSDB.
A retenir :
- une belle histoire sur le partage des données de navigation aux XIXème siècle
- OpenTSDB : gardons un oeil dessus…
Security needs in Hadoop’s current and future – How Apache Ranger can help ?
Par Balaji Ganesan et Don Bosco Durai (Hortonworks)
Présentation d’Apache Ranger, un projet encore en incubation. Il se veut le point central de la gestion de la sécurité (autorisation, audit) d’un cluster Hadoop. Au travers de plugins, il peut gérer la séc
urité de HDFS, Hive, HBase, …
A retenir : l’initiative est intéressante et mérite d’être suivie (cela mériterait peut-être d’être intégré à Ambari)
Conclusion
Le nombre de participants à cette conférence et le niveau des interventions montrent la bonne santé des technologies Hadoop. Outre la couverture de sujets techniques et d’outils de traitement de données (par exemple Spark, Flink), on notera l’attention portée aux sujets de la gouvernance des données et de la sécurité.
Article co-écrit par Bruno Bonnin et Arnaud Cogoluègnes.