L’analyse de flux de données au cœur de la conférence Strata + Hadoop 2016
Migrer les flux de données est un must dans de nombreuses applications modernes. Résultat, les systèmes analytiques de flux comme Spark Streaming, Kafka et d’autres sont portés sur le devant de la scène.
Si le volume des données est souvent l’élément du Big Data le plus mis en avant, la vélocité de ces mêmes données a elle aussi son mot à dire, comme a pu le confirmé l’édition 2016 de la conférence Strata + Hadoop World 2016, où les outils de streaming de données occupaient une place importante.
Cet événement a ainsi permis de comprendre que les implémentations de systèmes Hadoop étaient souvent à base du système de messaging Kafka ainsi quedu module Spark Streaming, du projet très en vogue Spark. L’association de ces deux technologies est devenue fréquente, car les développeurs se mettent à créer des pipelines de données qui exploitent désormais des fonctions de streaming de données en temps réel – au-delà des modes batch historiques d’Hadoop.
Kafka et Spark Streaming sont souvent utilisés de concert, le premier faisant office de file de messages (publish-and-subscribe) qui alimente le second. Une fois dans Spark, la donnée streamée est traitée en parallèle, parfois pour être utilisée par des applications d’analytique automatisée. Et dans ce vaste écosystème Open Source Hadoop, il existe d’autres projets émergents, comme Storm Samza et Flink.
L’impact de cette notion de streaming sur la sphère globale du Big Data pourrait d’ailleurs bien être considérable. Selon les chiffres du cabinet d’étude Wikibon, le marché mondial des technologies unifiées de streaming analytiques devrait compter pour 16% des dépenses totales en Big Data, d’ici à 2022, soit 11,5 milliards de dollars.
Alimenter un pipeline de données
Les flux gérés par Spark ne sont certes par aussi véloces que ceux des applications de trading par exemple, qui reposent sur des performances de streaming inférieures à la milliseconde. Mais pour analyser les données recueillies lors de la navigation sur Internet par exemple, l’architecture en microbatching de Spark Streaming peut être suffisante, ont confirmé certains participants de la conférence.
« Dans 90% des cas, Spark Streaming répondra aux besoins, affirme Mohammad Quraishi, en charge de l’analytique Big Data chez Cigna, un assureur américain. La société utilise Spark Streaming avec Kafka, adossés à un vaste système Hadoop Cloudera. Selon Mohammad Quraishi, Kafka permet à l’assureur de créer une couche accélératrice pour les données. « Cela complète l’architecture Lamdba », ajoute-t-il, faisant référence à une approche architecturale mêlant mode batch et streaming en temps réel pour gérer les Big Data.
« Un pipeline de données est très important. Disposer d’un moteur de messaging avec un fort rendement et une faible latence comme Kafka simplifie bien la façon dont vous gérez les données », explique-t-il.
Le tandem Kafka – Spark Streaming est également apparu lors d’autres conférences, dans d’autres présentations. Les projets portent par exemple sur des systèmes de détection de fraude en temps réel, comme celui développé par la banque hollandaise ING ou encore sur le système de gestion de flux en streaming qui gère les données issues de capteurs embarqués dans des wagons, imaginés par Siemens à Munich.
Selon Yvonne Quacken, architecte Big Data et ingénieur chez Siemens, qui s’exprimait lors de la conférence Strata, le besoin de flux de données rapides et flexibles est important. « Aujourd’hui, nous perdons du temps à seulement essayer de charger les données », illustre-t-elle.
« Nous espérons bien optimiser nos processus. Ce que nous faisons aujourd’hui sera profitable pour la suite », explique-t-elle. Son équipe travaille actuellement avec Teradata, spécialiste de l’entrepôt de données, à connecter Kafka, Spark et d’autres outils pour manipuler les données entrantes de l’Internet de l’objet.
Ce qui tire le marché de la donnée
Le rythme de l’innovation dans l’analyse de flux de données est généralement celui imposé par l’économie numérique, soutient Thomas Dinsmore, un analyste indépendant. Cette cadence est imposée par les applications Web et mobiles, ajoute-t-il. Il note toutefois que l’analyse de données en streaming est aussi liée historiquement au développement de technologies de CEP (Complex Event Processing) par Tibco par exemple. Les systèmes CEP étaient toutefois très couteux à implémenter, affirme encore l’analyste, « leur usage était limité aux cas d’usage les plus complexes, comme le trading haute performance et les applications liées aux marchés boursiers ».
Mais pour lui, la nouvelle génération d’outils de streaming de données Open Source – il cite Apex, Flink, Samza, Spark Streaming et Storm – « a la capacité de faire considérablement baisser les coûts, ouvrant ainsi de nouvelles possibilités d’usage ».
Dans ce monde Hadoop du streaming de données, le tandem Spark Streaming – Kafka a certes une longueur d’avance. Mais à en juger l’histoire d’Hadoop, le nombre grandissant de frameworks sont autant de candidats pour les responsables des données.
Traduit et adapté par la rédaction