Épisode 2 – #DataAnalyticsTools
Avec la digitalisation de la plupart des processus, l’émergence de différentes plateformes de réseaux sociaux, de blogs, le déploiement de multiples types de capteurs (avènement d’IPv6), la démocratisation d’appareils numériques portables et l’explosion de l’utilisation d’Internet, une très grande quantité de données est générée en permanence. Cette tendance est aujourd’hui arrivée à un stade où le volume de données repousse les limites des capacités techniques de stockage et de traitement.
Internet a en effet changé le mode de fonctionnement de toutes les entreprises, celle du gouvernement et de l’éducation. Les organisations utilisent aujourd’hui les données pour piloter leurs activités, analyser leurs chiffres et prendre des décisions stratégiques.
Si les organisations utilisaient des systèmes de gestion de bases de données relationnelles (SGBDR) et des techniques simples d’analyse de données comme le langage SQL (Structured Query Language) pour leurs opérations quotidiennes, il leur est devenu aujourd’hui presque impossible de traiter toute la volumétrie de données avec ces mêmes techniques de stockage et de requêtes.
Pour répondre à ces problématiques, de nombreux éditeurs se sont lancés sur le marché, dont Databricks.
La genèse de Databricks
Pour optimiser les temps de traitement sur de très grands volumes de données générés, plusieurs solutions et technologies entrent en jeux. On y retrouve par exemple les bases de données NoSQL (comme MongoDB, Cassandra ou Redis), le stockage en mémoire (Memtables), ainsi que des infrastructures de serveurs pour les traitements distribués sur des nœuds et qui tendent vers des traitements en temps réel notamment Apache Spark.
Apache Spark, le moteur d’analyses unifiées, a connu une adoption rapide par les entreprises de divers secteurs. Des acteurs essentiels du monde de l’internet tels que Netflix, Yahoo et eBay ont déployé Spark à très grande échelle, traitant ensemble plusieurs peta-octets de données sur des clusters de plus de 8 000 nœuds. (source : https://databricks.com/fr/spark/about).
L’équipe à l’origine du projet de recherche Spark à l’UC Berkeley a ainsi fondé en 2013 Databricks, une plateforme analytique Big Data qui accompagne les organisations à développer leurs technologies analytiques et à tirer profit de l’Intelligence Artificielle et du Machine Learning pour piloter, prédire et décider en temps réel.
Databricks : quelles spécificités ?
S’adressant principalement aux spécialistes des données : data analysts, data scientists, machine learning engineers et data engineers, l’objectif de la plateforme est de faciliter la création des projets d’analyse de données, de Machine Learning ou de Data Mining, tant par l’optimisation des clusters que par la conception collaborative des modèles. C’est aujourd’hui plus 5 000 entreprises à travers le monde qui font confiance à Databricks pour leur plateforme analytics.
Basée sur les fondations de Spark, la plateforme y ajoute des fonctionnalités d’analyse et de visualisation, permettant d’allier puissance de calcul et souplesse d’utilisation des langages de machine learning.
Databricks offre un contrôle du cycle de vie de la donnée entièrement géré sur le cloud, grâce à :
- Une couche de stockage au-dessus de votre data lake qui veille à maintenir la qualité et la fiabilité des données (Delta Lake)
- Une pluralité de langages pour la conception des flux d’ingestion et de retraitement de données
- Des notebooks collaboratifs pour favoriser le travail d’équipe
- Des graphiques interactifs pour visualiser les données et résultats
- La possibilité de transformer les notebooks en tableaux de bords interactifs
- Un redimensionnement automatique et optimisé des clusters
- Une conception facilitée de modèles de Machine Learning
- Une coordination et l’orchestration simplifiée des workflows
- Monitoring des jobs : métriques d’utilisation des clusters
Le point de vue des consultants novencia sur Databricks
Le Data Lab novencia compte aujourd’hui une dizaine de projets autour de la data et du machine learning. Notre objectif étant d’explorer de nouveaux sujets, de tester de nouvelles méthodes et de développer de nouvelles solutions, nous veillons à ce que nos algorithmes soient non seulement efficaces mais également scalables. Databricks permet ainsi à notre équipe d’assurer la mise à l’échelle de nos solutions qui vont depuis l’ingestion de la donnée, jusqu’à la restitution des résultats en temps quasi-réel en passant par le stockage, la transformation, la mise en qualité et la modélisation des données. Grâce au Databricks Runtime, qui est une version hautement optimisée d’Apache Spark, la grande volumétrie des données n’est plus un frein à nos développements.
Retour sur l’épisode 1 – Dataiku :
Une approche collaborative au cœur des projets data
Quels sont les avantages de Databricks ?
La gestion des coûts
Databricks s’intègre pleinement aux solutions cloud Azure et Aws. Celles-ci favorisent sa puissance de calcul via l’hébergement des clusters et permettent principalement d’optimiser les coûts liés à son utilisation grâce au « pay as you go », paiement à la consommation, entrainant ainsi une facturation en fonction des ressources utilisées. L’agilité et l’élasticité des infrastructures fournis par le cloud permettent de coller au mieux avec les besoins tout en réduisant les coûts en cas de non-utilisation. Databricks permet ainsi d’optimiser son ROI en réduisant les dépenses et en augmentant les performances.
La scalabilité :
L’autre point fort de Databricks réside dans sa scalabilité. La plateforme permet de configurer des clusters qui s’adaptent à la charge nécessaire. Cette dernière est exécutée par un cluster qui réparti les calculs sur plusieurs nœuds. Cette répartition est paramétrable, et peut avoir une taille fixe ou une taille variable oscillant dans un intervalle de nombres de cœurs définis par l’administrateur et selon le besoin. De plus un cluster peut intégrer des cœurs GPU, ce qui permet de mieux paralléliser l’exécution du code.
Il est également possible de suivre la distribution du travail des nœuds des clusters faite par Spark en direct pour suivre au mieux la répartition des tâches et l’optimiser si nécessaire.
L’orchestration des pipelines et la mise en production :
Databricks permet de réaliser des études de manière récurrente grâce à un outil de planification de notebook. Il est possible de : programmer une exécution, configurer une alerte par mail lorsque le script a abouti ou échoué et enfin d’exporter les résultats sous la forme d’un notebook qui pourra par la suite être importé dans l’environnement Databricks.
En ce qui concerne le versioning, le maintien et la gestion du code, Databricks intègre GitHub. En liant un répertoire à la plateforme il est possible de gérer l’historique des modifications des notebooks liés. Il est également possible d’utiliser les autres fonctionnalités classiques de git.
Machine learning
ML flow est outil pour gérer le cycle d’expérimentation du machine learning : apprentissage, tests, et déploiement des différents modèles. Intégré à Databricks via Managed ML flow, il permet de suivre les apprentissages des modèles en direct, d’en gérer les différentes versions et passer en production les modèles les plus performants. Les modèles ainsi déployés pourront ensuite être appelés par le biais d’une API.
La collaboration
Databricks, permet de développer de manière collaborative. En effet la plateforme permet à chacun d’avoir son propre workspace, tout en permettant de partager les notebooks et sources de données avec les autres membres de l’équipe de manière sécurisée. Le partage des notebooks est très facile, un clic suffit pour donner l’accès à son travail à un autre utilisateur. Il est ainsi possible de travailler à plusieurs sur un même notebook, de mettre des commentaires et de versionner les travaux des différents contributeurs en liant l’espace de travail à un répertoire GitHub.
Conclusion
Databricks permet aujourd’hui d’outiller les organisations pour faire face au défi big data. Sa plateforme Unified Analytics offre module de collaboration, version hautement optimisée d’Apache Spark et clusters scalables pour des performances optimales. De plus, et de par son succès, Databricks est aujourd’hui un des leaders du marché et propose de nouvelles solutions natives lui permettant de s’intégrer avec d’autres géants de l’analytique et de la BI tel que Microsoft Power BI. Son business model, a en effet séduit un grand nombre d’entreprises qui aujourd’hui tirent pleinement profit de leurs données et ce quasi en temps réel.
Sara Zoubir et Gautier Garriguenc, Consultants Data