A propos des grandes distributions Hadoop (Cloudera, Hortonworks, MapR et consorts) …

Image for post
Image for post

Je termine par un petit tour d’horizon des grandes distributions dédiées au Big Data qui se tiennent très près l’une de l’autre dans le champ du Big Data (à la compétition intense) :

Image for post
Image for post

Je commence par Cloudera et sa distribution Cloudera Data Hub (CDH) open source dans Azure (avec pleins de composants Apache) …

Image for post
Image for post

Cloudera proposant son mode Big Data as a Service (BDaaS) avec Cloudera Altus pour proposer des déploiements de cluster à la demande chez les grands cloud providers …

Image for post
Image for post
Image for post
Image for post

Déploiement d’un resource group embarquant la VM Cloudera Director …

Image for post
Image for post

On part d’une VM Cloudera Director qui va jouer le rôle de déployeur du cluster Cloudera Data Hub :

Image for post
Image for post

Je sélectionne les éléments du cluster à déployer à partir de templates CentOS prédéfinis …

Image for post
Image for post

le cluster est disponible avec un dashboard abordant les principales métriques du cluster :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Je suis contrait d’utiliser une VM OpenVPN Access Server pour visualiser le dashboard du cluster Manager (il y a un plan d’adressage privé prédéfini accompagné d’un domaine local lors du déploiement du cluster) :

Image for post
Image for post

Je me retrouve donc avec un “petit” cluster à 43,7 To de stockage, 110 Go de mémoire vive et environs 60 CPU …

Image for post
Image for post

et je visualise les métriques du cluster Cloudera Data Hub dans le dashboard offert au travers de Cloudera Manager (avec ici tous les services embarqués d’Apache Flume, en passant par Apache Hive, Apache Solr, Apache Impala jusqu’à Apache Kafka et Apache Hue) …

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

avec l’entrepôt de données Apache HBASE :

Image for post
Image for post

et le requêteur SQL dans Apache HUE (comme on l’avait vu dans Outscale avec sa brique de cluster MapR à la demande) :

Image for post
Image for post

Je peux me livrer à un petit exercice en utilisant JBoss Data Virtualization en le connectant à Apache Impala, gestionnaire du cluster Cloudera :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

La création de cette base de données virtuelles condensant plusieurs données issues de plusieurs sources de données est effective …

Image for post
Image for post

et une requête vers l’API REST de JBoss Data Virtualization via un client Postman permet de requêter sur ces données “virtualisées” …

Image for post
Image for post

Je passe ensuite à l’exercice autour de MapR Converged Data Platform en mode communautaire et open source toujours dans Azure :

Image for post
Image for post
Image for post
Image for post

Je lance depuis le marketplace la création de ce cluster qui va encore une fois embarquer une VM OpenVPN Access Server :

Image for post
Image for post
Image for post
Image for post

Je me connecte au portail OpenVPN pour accéder au cluster MapR :

Image for post
Image for post

et je visualise les principales métriques du cluster :

Image for post
Image for post

Un cluster ici très simple à 3 noeuds chacuns embarquant 3 disques SSD à 127 Go :

Image for post
Image for post

Le cluster embarque la fameuse brique Apache Drill (très inspiré de Google Big Query) pour lancer des requêtes de type SQL sur les données stockées dans le système de fichiers distribué HDFS :

Image for post
Image for post
Image for post
Image for post

Connexion au portail d’Apache Drill dans le cluster MapR :

Image for post
Image for post

et je peux faire un petit test de requête vers un jeu de données embarqué …

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

A noter que Databricks (la société qui porte principalement les développements autour d’Apache Spark et son écosystème) a proposé en preview son Databricks Workspace pour proposer des cluster Spark à la demande :

Image for post
Image for post

J’initie un workspace :

Image for post
Image for post

et je peux initier un cluster Apache Spark en dernière version :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

avec le Notebook ici en R associé :

Image for post
Image for post
Image for post
Image for post

ou en Scala (l’autre langage de la JVM le plus présent en datascience) avec ici l’exemple d’une connexion possible à Azure Cosmos DB:

Image for post
Image for post

Il fallait que je termine par Hortonworks qui a matérialisé son alliance avec Azure au sein de la distribution spécifique HDInsight (Hortonworks Data Platform 2.6 étant accessible en dernière version par l’intermédiaire de ce produit):

Image for post
Image for post
Image for post
Image for post

Je pars d’un cluster embarquant un serveur R avec RStudio Server et Hortonworks Data Platform :

Image for post
Image for post
Image for post
Image for post

J’obtiens pour le déploiement un cluster à 10 noeuds pour un coût d’environ 4.23 euros par heure :

Image for post
Image for post
Image for post
Image for post

et les métriques du cluster sont accessibles au travers du dashboard fourni par Apache Ambari :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

avec l’état des services et les éventuelles alertes du cluster :

Image for post
Image for post

ou des disques des neouds du cluster :

Image for post
Image for post

Un notebook Jupyter avec iPython est disponible :

Image for post
Image for post
Image for post
Image for post

mais aussi le portail propre au cluster Hadoop :

Image for post
Image for post

Il est possible de scaler le cluster avec des noeuds supplémentaires via le portail Azure :

Image for post
Image for post

Je teste le serveur RStudio connecté au cluster HDInsight :

Image for post
Image for post

et notamment la connectivité au cluster Hadoop via le package RHadoop :

Image for post
Image for post
Image for post
Image for post

je liste les fichiers embarqué dans le système de fichiers distribuées HDFS ou vers le stockage objet (Azure Blob Storage) :

Image for post
Image for post

ou avec un jeu de données test pré-fourni sur des horaires de vols :

Image for post
Image for post

et en appliquant un modèle de regression logistique (cher à Sayah) pour de la prédiction …

Image for post
Image for post
Image for post
Image for post

ou un test de tâches parallèles avec les noeuds du cluster :

Image for post
Image for post

ou à Spark avec le package SparkR :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Je termine par la jonction entre le champ du Big Data avec le Machine Learning et en particulier le Deep Learning qui est en train de ce démocratiser (y compris sur nos smartphone avec l’apparition de Tensorflow Lite) via de nouvelles distributions comme par exemple H2O Driverless AI (la rencontre entre l’intelligence artificielle et les clusters Big Data) :

Image for post
Image for post
Image for post
Image for post

Pour cette expérience (qui ne dure “vraiment” “vraiment” “vraiment” pas longtemps) j’ai besoin de VMs très puissantes disposant de cartes GPU NVIDIA et très très chères (notamment avec les fameuses cartes GPU NVIDIA Tesla P100 que l’on ne verra peut être jamais dans le secteur public pour accélerer les traitements en Deep Learning) :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Je lance la création d’une seule VM (ça coûte vraiment cher) avec mon resource group dans Azure :

Image for post
Image for post
Image for post
Image for post

et je lance mes containers Docker liés à la carte GPU NVIDIA avec NVIDIA-Docker selon ce modèle :

Image for post
Image for post
Image for post
Image for post

lancement de ceux-çi avec mis à disposition du notebook H2O et de l’interface propre à H2O Driverless AI :

Image for post
Image for post

Il faut utiliser un jeu de données test à charger dans la VM :

Image for post
Image for post
Image for post
Image for post

L’intéret de la plateforme H2O Driverless AI est qu’elle analyse et classifie automatiquement son jeu de données sans avoir à appliquer une série d’algorithmes propres au Machine Learning (l’entrainement sur ce jeu de données et la génération de modèles est automatisé ici) :

Image for post
Image for post

On passe de la classification :

Image for post
Image for post

à la prédiction par exemple :

Image for post
Image for post

Un produit de la société H2O à succès puisqu’il permet d’être présent dans le TOP 5% des compétitions de datascience dans le monde via la plateforme communautaire Kaggle :

Image for post
Image for post

Le produit n’est pas terminé avec cette roadmap pour 2018 :

Image for post
Image for post

Après avec la montée en puissance de ces bases de données distribuées polymorphes rattachées aux grands Cloud Providers et généralement liées à leurs backends de stockage objets ultra performants (, on peut se demander si les cluster avec Hadoop sont encore l’avenir …

Image for post
Image for post
Image for post
Image for post

Des évolutions à suivre ! …

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Originally published at telegra.ph on February 12, 2018.

Above the clouds, the sky is always blue ...

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store