cours
Maîtriser Databricks SQL : Un guide complet pour l'analyse des données et les charges de travail BI
Databricks SQL est un outil puissant conçu pour la gestion des données et l'analyse au sein de la plateforme Databricks Lakehouse. Cette plateforme intègre l'ingénierie des données, la science des données et l'analyse commerciale dans une expérience unifiée. Databricks SQL est donc important pour les professionnels des données qui cherchent à rationaliser leurs flux de données, l'exécution des requêtes et les tâches de BI sans la complexité de la gestion traditionnelle de l'infrastructure.
Dans cet article, je vais explorer les composants, les fonctionnalités et les outils de Databricks SQL et montrer des exemples pratiques de création et d'utilisation de l'entrepôt Databricks SQL. Pour commencer, je vous recommande vivement de suivre le cours Introduction à Databricks de DataCamp pour découvrir Databricks en tant que solution d'entreposage de données pour la Business Intelligence (BI), en tirant parti des capacités optimisées de SQL pour créer des requêtes et analyser des données.
Qu'est-ce que Databricks SQL ?
Databricks SQL est un outil d'analyse robuste au sein de la plateforme Databricks Lakehouse qui permet aux professionnels des données d'exécuter des requêtes SQL, d'analyser des données et de créer des tableaux de bord interactifs. Conçu avec une architecture sans serveur, Databricks SQL combine la flexibilité des lacs de données avec les capacités de gouvernance et de performance des entrepôts de données.
Les composants clés de Databricks SQL comprennent les entrepôts SQL, les éditeurs SQL et les tableaux de bord SQL. Ne vous inquiétez pas si vous n'êtes pas familier avec chacun d'entre eux, car je vais en expliquer la signification ci-dessous.
Composants principaux de Databricks SQL
Les composants de base de Databricks SQL facilitent l'interrogation efficace, la visualisation des données et la collaboration entre les utilisateurs. Vous trouverez ci-dessous un aperçu des principaux outils et fonctionnalités disponibles dans Databricks SQL.
Entrepôts SQL
Les entrepôts SQL servent de ressources informatiques pour l'exécution des requêtes SQL dans Databricks SQL. Ils sont conçus pour gérer des charges de travail variables et pour optimiser les performances en fonction du type d'entrepôt sélectionné. Il existe trois types principaux d'entrepôts SQL :
- Classique : Ce type d'appareil prend en charge les fonctionnalités de base et convient aux performances d'entrée de gamme. Il utilise la couche de calcul existante dans votre compte cloud, mais ne dispose pas de fonctionnalités avancées telles que la gestion intelligente de la charge de travail (IWM) et l'IO prédictive.
- Pro : Les entrepôts Pro SQL offrent des performances accrues grâce à la prise en charge de Photon, un moteur de requête vectorisé qui accélère les opérations SQL et améliore les options de sécurité.
- Serverless Élimine la gestion de l'infrastructure en provisionnant automatiquement les ressources, en évoluant de manière élastique et en garantissant une exécution des requêtes à faible latence. Elles sont idéales pour les environnements dont la charge de travail est fluctuante et offrent des performances rentables.
SQL Warehouse dans Databricks SQL. Image par l'auteur.
Éditeur SQL
L'éditeur SQL est une interface conviviale qui permet aux utilisateurs d'écrire, d'exécuter et de gérer des requêtes SQL. Les principales caractéristiques de l'éditeur SQL sont les suivantes
- Recherche intuitive : Prise en charge de la mise en évidence de la syntaxe, de l'autocomplétion et de la détection des erreurs pour une rédaction efficace des requêtes.
- Aperçu des données : Les utilisateurs peuvent prévisualiser les données directement dans l'éditeur, ce qui facilite la compréhension des ensembles de données avant d'exécuter des requêtes complexes.
- Mise en cache des résultats des requêtes : Cette fonction améliore les performances en mettant en cache les résultats des requêtes précédentes, ce qui permet d'accélérer les temps de réponse lors de requêtes répétées.
- Requêtes paramétrées : Les utilisateurs peuvent créer des requêtes dynamiques en incorporant des paramètres, ce qui simplifie le processus d'exécution de requêtes similaires avec des valeurs différentes.
Éditeur SQL dans Databricks SQL. Image par l'auteur.
Tableaux de bord
Les tableaux de bord permettent de visualiser les données en transformant les résultats des requêtes en diagrammes, graphiques et widgets interactifs. Les tableaux de bord sont idéaux pour surveiller les paramètres clés et communiquer efficacement les informations au sein d'une organisation. Les principales fonctionnalités des tableaux de bord sont les suivantes :
- Analyse en temps réel : Actualiser automatiquement les tableaux de bord en fonction des résultats des requêtes.
- Collaboration : Partagez les tableaux de bord entre les équipes pour favoriser les décisions fondées sur les données.
- Personnalisation : Choisissez parmi une variété de types de visualisation et d'options de mise en page pour répondre à vos besoins spécifiques.
Tableaux de bord dans Databricks SQL. Image par l'auteur.
Alertes
Les alertes dans Databricks SQL permettent de surveiller les changements de données et de déclencher des notifications lorsque des conditions spécifiques sont remplies. Les alertes sont essentielles pour maintenir la qualité des données et garantir des réponses opportunes aux changements importants. La fonctionnalité d'alerte fonctionne de la manière suivante.
- Définir les conditions : Définir des seuils ou des règles en fonction des résultats de la requête.
- Déclencher des notifications : Recevez des alertes par e-mail, Slack ou d'autres intégrations lorsque les conditions sont remplies.
- Surveillance proactive : Restez informé en temps réel des événements critiques, tels que les anomalies de données ou les problèmes de système.
Historique des requêtes et profilage
Enfin, je tiens à dire que Databricks SQL offre des outils de suivi de l'historique des requêtes et de profilage :
- Historique des requêtes : Cette fonction permet aux utilisateurs de revoir les requêtes précédemment exécutées, ce qui donne un aperçu de leurs performances au fil du temps. Il permet d'identifier les tendances ou les problèmes récurrents.
- Profilage des requêtes : Les outils de profilage des requêtes analysent l'efficacité des requêtes exécutées, mettent en évidence les goulets d'étranglement et suggèrent des optimisations. Cette capacité est importante pour améliorer les performances globales des requêtes et l'utilisation des ressources.
Historique des requêtes dans Databricks SQL. Image par l'auteur.
Fonctionnalités et outils clés de Databricks SQL
Databricks SQL est doté de fonctionnalités et d'outils avancés. Ces fonctionnalités sont conçues pour améliorer les performances, rationaliser les flux de travail et permettre une intégration transparente avec d'autres outils. Examinons quelques-uns des éléments clés qui font de Databricks SQL un excellent choix.
Moteur à photons
Photon Engine est un moteur de requêtes vectorisé de haute performance développé par Databricks pour accélérer de manière significative l'exécution des requêtes SQL. Les principaux avantages du moteur Photon sont les suivants :
- Exécution vectorisée : Contrairement au traitement traditionnel ligne par ligne, Photon utilise une exécution vectorisée, qui traite les données par lots. Cette approche lui permet d'exploiter des instructions avancées du processeur telles que SIMD (Single Instruction, Multiple Data) pour une meilleure efficacité.
- Intégration avec les charges de travail existantes : Photon est entièrement compatible avec les API d'Apache Spark, ce qui signifie que les utilisateurs peuvent l'activer sans modifier le code existant. Cette intégration transparente permet aux entreprises de bénéficier de performances accrues sans devoir procéder à des retouches importantes.
- Mise en cache et optimisation : Le moteur comprend un optimiseur de requêtes avancé et une couche de mise en cache qui sélectionne intelligemment les données à mettre en cache, ce qui améliore encore les performances des requêtes.
CloudFetch et E/S asynchrones
CloudFetch et Async I/O sont des fonctionnalités conçues pour améliorer les vitesses de transfert des données et le traitement des petits fichiers pendant l'exécution des requêtes. Ces fonctionnalités fonctionnent de la manière suivante :
- CloudFetch: Cette fonctionnalité optimise la façon dont les résultats sont réécrits dans le stockage cloud en permettant des écritures parallèles sur tous les nœuds de calcul. Il réduit considérablement le temps nécessaire au transfert de grands ensembles de données vers les clients, ce qui permet d'obtenir des performances jusqu'à 10 fois plus rapides dans des scénarios réels.
- E/S asynchrones : Cette capacité permet d'améliorer le traitement des petits fichiers en lisant simultanément plusieurs blocs de données tout en traitant les blocs en cours. Cette approche peut multiplier par 12 les performances globales des requêtes lorsqu'il s'agit de petits fichiers (par exemple, 1 Mo). Elle est particulièrement efficace pour les scénarios impliquant de nombreux petits fichiers ou des "données froides" qui ne sont pas mises en cache.
Intégration avec les outils de BI
Databricks SQL s'intègre de manière transparente aux outils de Business Intelligence (BI) les plus répandus, ce qui facilite l'analyse et la visualisation des données par les équipes. Les intégrations prises en charge sont les suivantes :
- Power BI : Les utilisateurs peuvent connecter leur espace de travail Databricks directement avec Power BI, ce qui permet de synchroniser facilement les modèles de données. Par exemple, les analystes peuvent publier des rapports directement depuis Databricks dans Power BI, en maintenant les relations définies entre les tableaux sans intervention manuelle.
- Tableau : Les utilisateurs peuvent exploiter les connexions en direct pour visualiser les données stockées dans Databricks SQL. Cette intégration permet des analyses en temps réel et des tableaux de bord interactifs qui reflètent les dernières mises à jour des données.
- dbt : Databricks SQL s'intègre également à dbt (data build tool), permettant aux équipes de gérer leurs transformations directement dans l'environnement Databricks. Cette intégration prend en charge les modèles incrémentiels et les vues matérialisées, rationalisant ainsi le processus de construction et de maintenance de pipelines de données robustes.
Architecture sans serveur
L'architecture sans serveur de Databricks SQL élimine le besoin d'une gestion manuelle de l'infrastructure en provisionnant et en mettant à l'échelle automatiquement les ressources en fonction des demandes de charge de travail. L'architecture sans serveur ajustera automatiquement les ressources pour gérer des charges de requêtes variables sans temps d'arrêt. Cette fonction permet aux utilisateurs de ne pas avoir à configurer ou à maintenir manuellement les grappes. L'architecture sans serveur est également rentable, car les utilisateurs ne paient que pour les ressources utilisées lors de l'exécution des requêtes.
Par exemple, une entreprise de vente au détail est confrontée à un nombre élevé de requêtes pendant les heures de pointe. L'architecture sans serveur augmente automatiquement les ressources pour garantir des performances constantes et les réduit pendant les heures creuses pour économiser des coûts.
Guide de création et d'utilisation des entrepôts SQL Databricks, étape par étape
Les entrepôts SQL de Databricks sont essentiels à l'exécution efficace des requêtes SQL dans l'environnement Databricks. Dans cette section, je vais vous guider à travers le processus de création d'un entrepôt SQL et de son utilisation avec des carnets de notes. Si vous avez besoin de rafraîchir vos connaissances sur les entrepôts de données, je vous recommande de suivre notre cours Concepts d'entreposage de données pour apprendre les principes fondamentaux de la modélisation et de la transformation des données.
Création d'un entrepôt SQL Databricks
Suivez les étapes suivantes pour créer un SQL Warehouse à l'aide de l'interface web Databricks :
Étape 1 : Naviguez jusqu'à la page Databricks SQL
Dans l'espace de travail Databricks, cliquez sur l'icône SQL dans la barre latérale.
Page SQL de Databricks. Image par l'auteur.
Étape 2 : Ouvrez l'onglet SQL Warehouses
Sur la page SQL, naviguez jusqu'à l'onglet Entrepôts SQL.
Onglet Databricks SQL Warehouse. Image par l'auteur.
Étape 3 : Cliquez sur "Créer un entrepôt"
Cliquez sur le bouton Créer un entrepôt pour commencer à configurer votre nouvel entrepôt SQL.
Création de SQL Warehouse sur Databricks SQL. Image par l'auteur.
Étape 4 : Configurer les paramètres de base
Configurez les paramètres de l'entrepôt à l'aide des options suivantes.
- Nom : Donnez un nom unique et descriptif à votre entrepôt SQL.
- Taille de la grappe : Choisissez la taille de la grappe en fonction des exigences de votre charge de travail. Il va sans dire que les grappes plus importantes traitent plus de requêtes simultanées et des ensembles de données plus volumineux.
- Auto-Stop : Définissez le délai d'inactivité pour arrêter automatiquement l'entrepôt lorsqu'il n'est pas utilisé. Dix minutes me semblent raisonnables. Cela permet de réduire les coûts en libérant les ressources lorsqu'elles sont inutilisées.
- Échelle : Activez la fonction Auto-Scaling pour ajuster les ressources de manière dynamique en fonction de la charge de la requête. Indiquez le nombre minimum et maximum de grappes à prendre en compte pour la mise à l'échelle.
- Option sans serveur : Si cette option est disponible dans votre compte, choisissez Serverless SQL Warehouse pour une gestion simplifiée et une mise à l'échelle automatique.
Configurez les paramètres de base de Databricks SQL Warehouse. Image par l'auteur.
Étape 5 : Options avancées (facultatif)
Si nécessaire, configurez les options avancées telles que l'activation de Photon ou la définition de configurations SQL spécifiques.
Configurez les paramètres avancés pour Databricks SQL Warehouse. Image par l'auteur.
Étape 6 : Sauvegarder et démarrer l'entrepôt
Cliquez sur Créer pour enregistrer votre configuration. Une fois créé, démarrez l'entrepôt pour le rendre opérationnel.
Création de l'entrepôt SQL de Databricks. Image par l'auteur.
Étape 7 : Définir les autorisations (facultatif)
Après la création, une fenêtre d'autorisation s'affiche, dans laquelle vous pouvez accorder l'accès à l'entrepôt à des utilisateurs ou à des groupes.
Gestion des autorisations de Databricks SQL Warehouse. Image par l'auteur.
Une fois créé, votre entrepôt SQL démarre automatiquement, ce qui vous permet d'exécuter des requêtes immédiatement.
Exemple de Databricks SQL Warehouse. Image par l'auteur.
Utilisation d'un Notebook avec un Databricks SQL Warehouse
Pour exécuter des requêtes SQL dans un bloc-notes à l'aide de votre entrepôt SQL nouvellement créé, procédez comme suit :
Étape 1 : Ouvrir ou créer un carnet de notes
Dans l'espace de travail Databricks, créez un nouveau carnet ou ouvrez un carnet existant.
Création d'un nouveau Notebook pour créer Databricks SQL Warehouse. Image par l'auteur.
Étape 2 : Attachez le SQL Warehouse
Dans la barre d'outils du bloc-notes, localisez le sélecteur de calcul ou la connexion (généralement affichée en haut). Cliquez dessus pour ouvrir un menu déroulant affichant les ressources informatiques disponibles. Sélectionnez votre entrepôt SQL dans la liste. S'il n'est pas visible, cliquez sur Plus... pour afficher tous les entrepôts disponibles. Cliquez sur l'entrepôt SQL souhaité, puis sélectionnez Démarrer et attacher.
Attachez le carnet de notes dans Databricks SQL Warehouse. Image par l'auteur.
Étape 3 : Écrire des requêtes SQL
Une fois attaché, vous pouvez créer des cellules dans votre carnet pour les requêtes SQL. Utilisez la commande %sql
magic pour exécuter des requêtes SQL dans le carnet.
Écrire des requêtes SQL dans Databricks SQL Warehouse. Image par l'auteur.
Étape 4 : Exécuter les requêtes
Lancez la cellule pour exécuter votre requête. Les résultats s'affichent directement sous la cellule, ce qui facilite la prévisualisation des données.
Exécutez des requêtes SQL dans Databricks SQL Warehouse. Image par l'auteur.
Considérations relatives à l'utilisation d'un carnet de notes avec un entrepôt SQL
Voici quelques considérations à prendre en compte lors de l'utilisation d'ordinateurs portables avec des entrepôts SQL :
-
Limites de l'interrogation : Les entrepôts SQL sont optimisés pour les requêtes analytiques, et non pour les requêtes transactionnelles fréquentes et à faible latence.
-
Aperçu des données : Pour les grands ensembles de données, envisagez de limiter les résultats de votre requête, en utilisant par exemple la clause
LIMIT
pour éviter les goulets d'étranglement. -
Mise en cache des requêtes : Tirez parti de la mise en cache des résultats pour accélérer les requêtes répétées.
-
Utilisation des ressources : Surveillez l'utilisation de SQL Warehouse pour vous assurer que la taille du cluster et les paramètres de mise à l'échelle répondent aux besoins de votre charge de travail.
Conclusion
Databricks SQL est une plateforme puissante qui comble le fossé entre les lacs de données et les entrepôts de données, en fournissant une solution unifiée pour l'analyse moderne des données et l'intelligence économique. Que vous construisiez des tableaux de bord, que vous optimisiez vos requêtes ou que vous surveilliez vos données à l'aide d'alertes, Databricks SQL offre la flexibilité et les performances nécessaires pour relever les défis actuels en matière de données. Je vous encourage à explorer les fonctionnalités et les capacités de Databricks SQL pour améliorer vos flux de données, renforcer la collaboration et favoriser une prise de décision plus intelligente et plus rapide.
Si vous souhaitez devenir un ingénieur de données professionnel, je vous recommande vivement de suivre le cours Understanding Data Engineering de DatacMap pour apprendre comment les ingénieurs de données stockent et traitent les données afin de faciliter la collaboration avec les scientifiques de données. Je vous recommande également de suivre notre cours Data-Driven Decision-Making in SQL pour apprendre à utiliser SQL pour soutenir la prise de décision à l'aide de projets réels. N'oubliez pas non plus de consulter notre vaste assortiment de cours sur le cloud.
FAQ Databricks SQL
Qu'est-ce que Databricks SQL et en quoi diffère-t-il des bases de données SQL traditionnelles ?
Databricks SQL est un outil d'analyse sans serveur conçu pour la plateforme Databricks Lakehouse, combinant l'évolutivité des lacs de données avec la performance des entrepôts de données.
Comment optimiser les performances de Databricks SQL ?
Utilisez le moteur Photon pour une exécution plus rapide des requêtes, activez la mise en cache des résultats des requêtes et configurez la mise à l'échelle automatique dans les entrepôts SQL pour gérer efficacement les charges de travail.
Databricks SQL peut-il être intégré aux outils de BI existants tels que Power BI et Tableau ?
Oui, Databricks SQL s'intègre de manière transparente aux outils de BI les plus courants, ce qui permet une visualisation des données en temps réel et une meilleure collaboration entre les équipes.
Quels sont les différents types d'entrepôts SQL dans Databricks SQL, et comment choisir le bon ?
Les entrepôts SQL sont disponibles en options Classic, Pro et Serverless. Choisissez en fonction des besoins de la charge de travail : Classique pour les requêtes de base, Pro pour les cas d'utilisation avancés et Serverless pour la simplicité et l'évolutivité.
Comment Databricks SQL gère-t-il la gouvernance et la sécurité des données ?
Databricks SQL prend en charge les contrôles d'accès fins au niveau des lignes et des colonnes, et s'intègre aux fournisseurs d'identité pour une gouvernance solide.
Apprenez Databricks avec DataCamp
cours
Databricks Concepts
cours
Data Management in Databricks
blog
Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024
blog
Q2 2023 DataCamp Donates Digest
blog
2022-2023 Rapport annuel DataCamp Classrooms
blog
Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Nisha Arya Ahmed
20 min
blog
Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Fereshteh Forough
4 min
blog