Databricks : TOP 3 des façons de créer un environnement de développement ou de test !

Si vous êtes intéressés par Databricks et que vous souhaitez vous y mettre, il existe aujourd’hui plusieurs façons de se créer un environnement de test et de développement :

  1. Utiliser Azure Databricks directement
  2. Utiliser Databricks Community Edition 
  3. Installer un environnement local sur votre ordinateur

Bien sur toutes ces solutions ont chacune leurs avantages et inconvénients, et c’est que nous allons voir dans cet article !

Azure Databricks

Azure Databricks sera la version la plus complète et la plus proche de ce que vous pourrez faire réellement avec Databricks dans Azure.

Pour le créer, il vous faudra d’abord une souscription Azure, soit celle de votre entreprise, soit un version trial (=> https://azure.microsoft.com/fr-fr/offers/ms-azr-0044p/). Vous allez ensuite créer une ressource Azure Databricks dans votre souscription et vous aurez accès à un workspace. Vous pourrez en plus créer tous les autres composants Azure dont vous aurez besoins comme Azure Data Lake Store, Azure Data Factory, Azure Key Vault…

Avantages :

  • Simple à créer : il suffit de créer une ressource Azure Databricks
  • C’est la seule solution qui permet une expérience et une intégration complète avec Azure enrichissant fortement Databricks :
      • Azure Data Factory => ELT
      • Azure AD => Sécurisation des utilisateurs
      • Azure DevOps => CI/CD
      • Azure Key Vault => Sécurisation des connexions
  • Si vous créez votre workspace dans la même région Azure que vos données, vous ne payerez pas de coût de sorti de vos données.
  • Complètement scalable avec toutes les créations de clusters possibles : autant de taille et de noeuds que l’on veut, des clusters dynamiques, interactifs…
  • Utilisation des Token et donc toutes les fonctionnalités d’automatisation via les API ou autre sont possibles.

Inconvénients : 

  • La solution la plus couteuse, car elle est payante dès la création d’un cluster et que l’on veut exécuter un notebook. En même temps, c’est la plus scalable et donc forcément si vous voulez essayer de gros cluster pour traiter de grosses volumétries, cela se paye.

Databricks Community Edition

En dehors de Azure, Databricks propose un environnement très proche de la version Azure que l’on peut utiliser gratuitement : https://databricks.com/product/faq/community-edition

Ces workspaces sont hébergés sur AWS et vous donnent accès à de “petits” cluster de 1 noeud avec quelques Go de RAM (6 Go il me semble).

Il vous suffit de vous inscrire avec un simple mail (ca marche même avec un gmail !) et de vous connecter avec : https://community.cloud.databricks.com/login.html 

Avantages :

  • Simple à créer : juste un mail et quelques clics.
  • La plus part des fonctionnalités Databricks sont disponibles : le runtime Spark Databricks complet, l’expérience de développement du workspace complet (notebooks, metastore, gestion des librairies…)
  • C’est totalement gratuit.

Inconvénients :

  • Databricks Community tourne sur AWS sur de petits clusters, donc attention aux volumétries :
    • les sorties de données d’Azure sont payantes si vous attaquez des données
      Azure en source
    • l’environnement n’est pas scalable donc pas possible d’attaquer de
      réelles volumétries
  • Il n’est pas possible de générer des Token PAT donc :
    • pas de fonctionnalités d’administration
    • pas d’accès aux API
    • pas d’interaction avec Azure Data Factory et autres produits “externes”.

Environnent local

Databricks étant une solution utilisant le moteur Spark, vous pouvez aussi installer sur votre propre ordinateur une version standalone de Spark open-source (communauté) et d’autres composants comme Anaconda et Jupyter vous permettant de simuler des notebooks, comme dans un vrai workspace Databricks.

Spark peut s’installer sur Windows, Linux et Mac OSX. Personnellement je suis sur Windows 10 et je préfère utiliser Windows Bash (WSL 2) et tout installer dessus plutôt que des versions Windows. Car généralement les documentations que l’on va trouver sur le sujet sur internet sont sur Linux, et cela garanti une plus grande compatibilité avec d’autres briques de l’écosystème, comme Hadoop ou Blobfuse pour monter un chemin réseau vers un blob par exemple.

Vous pouvez aussi utiliser des images Docker si vous voulez et si vous maitrisez la création d’image et de conteneur, car les images déjà existantes avec tous les composants déjà installés sont rares.

Avantages :

  • C’est totalement gratuit : juste le prix de votre ordinateur… mais en fait si votre ordi c’est un MacBook ou un serveur à 16 Cores et 128Go de RAM, on va dire que c’est pas si gratuit que ça Open-mouthed smile
  • Vos réalisations restent en local sur votre ordinateur, et vous pouvez les synchroniser avec un repo GIT comme n’importe quel documents et fichiers.

Inconvénients :

  • Assez compliqué à installer et à maintenir, il faut tout faire soit-même, les documentations d’installation des composants ne sont pas toujours simple à prendre en main.
  • Même problématique que pour la version Community de Databricks, donc attention aussi aux volumétries :
      • les sorties de données d’Azure sont payantes si vous attaquez des données Azure en source
      • l’environnement n’est pas scalable donc pas possible d’attaquer de réelles volumétries
  • Pas de partage de notebook possible en mode web.
  • Pas complètement compatible avec la version Spark de Databricks, qui propose des fonctionnalité en avance non présentes dans la version open-source de Spark.

Conclusion

Pour un projet complet avec pour objectif d’aller jusqu’en production et/ou avec de grosses volumétries et/ou une compatibilité avec d’autres outils Azure comme Azure Data Factory, Azure Key Vault.. : Azure Databricks

Pour de l’apprentissage et découvrir Databricks gratuitement : Databricks Community Edition

Pour ceux qui veulent creuser la version Spark open-source, et si vous aimez installer des trucs et vous prendre la tête avec de la configuration système : Environnement Local

FADATA

Fabien Adato est Consultant Data et BI chez AZEO. Après avoir intégré la société CGI Business Consulting où il rejoint une équipe dédiée à la Business Intelligence, il fait ses premières armes sur la solution Microsoft SQL Server. Pendant plus de 4 ans, il acquiert des compétences techniques et fonctionnelles sur toute la chaîne de valeur de la BI (ETL, Base de Données, Cube Olap et Rapport). Il a pu se spécialiser également sur de nouvelles technologies de la Data et notamment Hadoop, Pig et Hive, ainsi que des technologies self-service BI, le No-SQL comme la base de données MongoDB et le moteur d’indexation ElasticSearch. Il entre chez AZEO en 2014 pour y assurer le poste de Consultant DATA / BI, autour des technologies Microsoft SQL Server, Power BI et Azure Cortana Intelligence.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *