Comprendre les concepts clés
Azure Databricks est une plateforme de service unique avec plusieurs technologies qui permettent de travailler avec des données à grande échelle. Pour utiliser Azure Databricks, il faut en comprendre quelques concepts clés.
Espaces de travail
Un espace de travail dans Azure Databricks est un environnement sécurisé et collaboratif dans lequel vous pouvez accéder à toutes les ressources Databricks, telles que des notebooks, des clusters, des travaux, des bibliothèques, des tableaux de bord et des expériences.
Vous pouvez ouvrir un espace de travail Azure Databricks à partir du portail Azure, en sélectionnant Lancer l’espace de travail.
Il fournit une interface utilisateur web ainsi que des API REST pour la gestion des ressources et des flux de travail. Les espaces de travail peuvent être structurés en dossiers pour organiser des projets, des pipelines de données ou des ressources d’équipe, et les autorisations peuvent être appliquées à différents niveaux pour contrôler l’accès. Ils prennent en charge la collaboration en permettant à plusieurs utilisateurs, comme les ingénieurs de données, les analystes et les scientifiques des données, de travailler ensemble sur des notebooks partagés, de suivre les expériences et de gérer les dépendances.
En outre, les espaces de travail sont liés au catalogue Unity (lorsqu’ils sont activés) pour la gouvernance centralisée des données, ce qui garantit un accès sécurisé aux données au sein de l’organisation. Chaque espace de travail est également lié à un groupe de ressources Azure sous-jacent (y compris un groupe de ressources managées) qui contient les ressources de calcul, de mise en réseau et de stockage Que Databricks utilise en arrière-plan.
Notebooks
Les notebooks Databricks sont des documents interactifs basés sur le web qui combinent du code exécutable, des visualisations et du texte narratif dans un environnement unique. Ils prennent en charge plusieurs langages, tels que Python, R, Scala et SQL, et permettent aux utilisateurs de basculer entre les langages au sein du même notebook à l’aide de commandes magiques. Cette flexibilité rend les notebooks bien adaptés à l’analyse exploratoire des données, à la visualisation des données, aux expériences de Machine Learning et à la création de pipelines de données complexes.
Les notebooks sont également conçus pour la collaboration : plusieurs utilisateurs peuvent modifier et exécuter des cellules simultanément, ajouter des commentaires et partager des insights en temps réel. Ils s’intègrent étroitement aux clusters Databricks, ce qui permet aux utilisateurs de traiter efficacement des jeux de données volumineux et peuvent se connecter à des sources de données externes via Unity Catalog pour l’accès aux données régis. En outre, les notebooks peuvent être contrôlés par version, planifiés en tant que tâches ou exportés pour le partage en dehors de la plateforme, ce qui les rend centrales à la fois pour l’exploration ad hoc et les flux de travail de niveau production.
Les blocs-notes contiennent une collection de deux types de cellules : les cellules de code et les cellules Markdown. Les cellules de code contiennent du code exécutable. Les cellules Markdown contiennent du code Markdown qui s’affiche sous forme de texte et de graphique. Vous pouvez exécuter une seule cellule, un groupe de cellules ou l’ensemble du bloc-notes.
Groupements
Azure Databricks tire parti d’une architecture à deux couches :
- Plan de contrôle : cette couche interne, gérée par Microsoft, gère les services principaux spécifiques à votre compte Azure Databricks.
- Plan de calcul : il s’agit de la couche externe qui traite les données et vit dans votre abonnement Azure.
Les clusters sont les principaux moteurs de calcul dans Azure Databricks. Ils fournissent la puissance de traitement nécessaire pour exécuter des tâches d’ingénierie des données, de science des données et d’analytique. Chaque cluster se compose d’un nœud de pilote, qui coordonne l’exécution et un ou plusieurs nœuds Worker, qui gèrent les calculs distribués. Les clusters peuvent être créés manuellement avec des ressources fixes ou configurés pour l'auto-échelle, permettant à Databricks d'ajouter ou de supprimer des nœuds de travail selon la demande de charge de travail. Cette flexibilité garantit une utilisation efficace des ressources et un contrôle des coûts.
Azure Databricks Compute offre un large éventail d’options de calcul disponibles pour différents types de charge de travail :
- Calcul serverless : calcul entièrement géré à la demande qui effectue automatiquement un scale-up ou un scale-down pour répondre aux besoins de la charge de travail. Idéal pour les équipes qui veulent des temps de démarrage rapides, une surcharge de gestion minimale et une mise à l’échelle élastique.
- Calcul classique : clusters configurés et approvisionnés par l’utilisateur qui offrent un contrôle total sur les paramètres de calcul, tels que les tailles de machine virtuelle, les bibliothèques et les versions du runtime. Idéal pour les charges de travail spécialisées qui nécessitent une personnalisation ou des performances cohérentes.
- Entrepôts SQL : ressources de calcul optimisées pour les requêtes d’analytique et de bi basées sur SQL. Les entrepôts SQL peuvent être provisionnés en tant que serveurless (élastique, managé) ou classique (configuré par l’utilisateur) en fonction des exigences de gouvernance et de performances.
Cela vous permet d’adapter le calcul à des besoins spécifiques, de l’analyse exploratoire dans les notebooks, aux pipelines ETL à grande échelle, aux tableaux de bord hautes performances et aux rapports.
Databricks Runtime
Databricks Runtime est un ensemble de builds personnalisées d’Apache Spark qui incluent des améliorations des performances et des bibliothèques supplémentaires. Ces runtimes facilitent la gestion des tâches telles que le Machine Learning, le traitement des graphiques et la génomique, tout en prenant en charge le traitement et l’analytique généraux des données.
Databricks fournit plusieurs versions d’exécution, notamment les versions de support à long terme (LTS). Chaque version spécifie la version d’Apache Spark sous-jacente, sa date de publication et la fin de la prise en charge. Au fil du temps, les versions antérieures du runtime suivent un cycle de vie :
- Hérité : disponible mais n’est plus recommandé.
- Déconseillé : marqué pour suppression dans une version ultérieure.
- Fin du support (EoS) – aucun correctif ou mise à jour supplémentaire n’est fourni.
- Fin de vie (EoL) : mise hors service et non disponible.
Si une mise à jour de maintenance est publiée pour une version d’exécution que vous utilisez, vous pouvez l’appliquer en redémarrant votre cluster.
Travaux Lakeflow
Lakeflow Jobs offrent l’automatisation et l’orchestration des workflows dans Azure Databricks, permettant de planifier, coordonner et exécuter de manière fiable des tâches de traitement des données. Au lieu d’exécuter du code manuellement, vous pouvez utiliser des travaux pour automatiser des charges de travail répétitives ou de niveau production telles que des pipelines ETL, une formation machine learning ou des actualisations de tableau de bord.
Un job dans Databricks est essentiellement un conteneur pour une ou plusieurs tâches. Les tâches définissent le travail à effectuer , par exemple, l’exécution d’un bloc-notes, l’exécution d’un travail Spark, l’appel de code externe, ...
Les travaux peuvent être déclenchés de différentes manières :
- Selon une planification (par exemple, toutes les nuits à minuit).
- En réponse à un événement.
- Manuellement, si nécessaire.
Étant donné qu’elles sont reproductibles et gérées, les tâches sont essentielles pour les charges de production. Ils garantissent que les pipelines de données s’exécutent de manière cohérente, les modèles ML sont formés et déployés de manière contrôlée, et les systèmes en aval reçoivent des données mises à jour et précises.
Delta Lake
Delta Lake est une infrastructure de stockage open source qui améliore la fiabilité et l’extensibilité des lacs de données en ajoutant des fonctionnalités transactionnelles sur le stockage d’objets cloud, comme Azure Data Lake Storage. Les lacs de données traditionnels peuvent souffrir de problèmes tels que des données incohérentes, des écritures partielles ou des difficultés de gestion de l’accès simultané. Delta Lake résout ces problèmes en prenant en charge :
- Transactions ACID (atomicité, cohérence, isolation, durabilité) pour les lectures et écritures fiables.
- Gestion évolutive des métadonnées afin que les tables puissent atteindre des milliards de fichiers sans perte de performances.
- Contrôle de version et restauration des données, activation des requêtes de voyage dans le temps et récupération des états précédents.
- Traitement unifié des lots et du streaming, de sorte que la même table puisse gérer les charges d’ingestion en temps réel et les chargements en lot historique.
En plus de cette base, les tables Delta fournissent une abstraction de table familière qui facilite l’utilisation de données structurées à l’aide de requêtes SQL ou de l’API DataFrame. Les tables delta sont le format de table par défaut dans Azure Databricks, ce qui garantit que les nouvelles données sont stockées avec des garanties transactionnelles par défaut.
Databricks SQL - Outil de requête de base de données
Databricks SQL offre des fonctionnalités d’entreposage de données à Databricks Lakehouse, ce qui permet aux analystes et aux utilisateurs professionnels d’interroger et de visualiser les données stockées dans des formats ouverts directement dans le lac de données. Il prend en charge ANSI SQL. Toute personne familiarisée avec SQL peut exécuter des requêtes, générer des rapports et créer des tableaux de bord sans avoir à apprendre de nouveaux langages ou outils.
Databricks SQL est disponible uniquement dans le niveau Premium d’Azure Databricks. Il inclut :
- Éditeur SQL pour l’écriture et l’exécution de requêtes.
- Tableaux de bord et outils de visualisation pour partager des insights.
- Intégration avec des outils de BI et d'analytique externes.
SQL Warehouses
Toutes les requêtes Databricks SQL s’exécutent sur des entrepôts SQL (anciennement appelés points de terminaison SQL), qui sont des ressources de calcul évolutives découplées du stockage. Différents types d’entrepôts sont disponibles en fonction des performances, des coûts et des besoins de gestion :
Serverless SQL Warehouses
- Calcul instantané et élastique avec démarrage rapide et mise à l’échelle automatique.
- Une charge de gestion faible étant donné que Databricks gère la capacité, la mise à jour corrective et l’optimisation.
- Efficacité des coûts en effectuant une mise à l’échelle automatique et en évitant les coûts des ressources inactives.
Pro SQL Warehouses
- Plus personnalisable mais plus lent à démarrer (≈4 minutes).
- L'auto-scalabilité est moins réactive par rapport aux solutions sans serveur.
- Utile lorsque des charges de travail cohérentes et prévisibles sont requises.
Entrepôts SQL classiques
- Les ressources de calcul s’exécutent dans votre propre abonnement Azure, et non dans Databricks.
- Moins flexible que serverless, mais peut être préféré pour des exigences spécifiques en matière de gouvernance ou de gestion des coûts.
MLflow
MLflow est une plateforme open source conçue pour gérer le cycle de vie machine learning de bout en bout. Il aide les scientifiques des données et les ingénieurs ML à suivre les expériences, à gérer les modèles et à simplifier le processus de déplacement des modèles du développement à la production. MLflow prend également en charge les flux de travail d’IA génératifs et inclut des outils permettant d’évaluer et d’améliorer les agents IA.