Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Cette fonctionnalité est en version bêta. Pour l’utiliser, un administrateur d’espace de travail doit activer la matérialisation du tableau de bord IA/BI depuis la page des Aperçus . Consultez Gérer les préversions d’Azure Databricks.
Les tableaux de bord IA/BI sont basés sur des jeux de données définis au niveau du tableau de bord. Par défaut, chaque jeu de données est évalué en temps réel, donc chaque fois qu’un tableau de bord se charge ou qu’un visualiseur interagit avec lui, les requêtes, jointures et scans source sous-jacents s’exécutent à nouveau sur votre entrepôt SQL. Pour les tableaux de bord construits sur des requêtes source coûteuses ou de nombreuses jointures, relancer ces requêtes à chaque interaction est lent et coûteux.
La matérialisation des ensembles de données pré-calcule et stocke les résultats derrière un ensemble de données, donc le travail lourd se fait une seule fois sur un calendrier au lieu de chaque chargement ou interaction sur le tableau de bord. Les interactions sont ensuite rendues à partir des résultats stockés, ce qui rend les tableaux de bord publiés plus rapides.
La matérialisation utilise la technologie de matérialisation en vue métrique Unity Catalog. Consultez Matérialisation pour les vues de métriques.
Ce qui se matérialise
La matérialisation pré-calcule et stocke les données de l’ensemble de données. Ce qui est stocké diffère entre les deux types de jeux de données :
- Pour les ensembles de données SQL, le résultat complet de la requête est pré-calculé et stocké.
- Pour les vues métriques locales, le modèle de données au niveau ligne (données sources, jointures et champs de filtre) est stocké, tandis que les mesures sont toujours calculées au moment de la requête par rapport à la base pré-calculée.
Benefits
La matérialisation des ensembles de données offre les avantages suivants :
- Des tableaux de bord plus rapides sans remodelage. Les jointures coûteuses et les analyses de la source sont exécutées une fois selon une planification, plutôt qu’à chaque chargement, ce qui évite le temps d’attente des utilisateurs lorsqu’un tableau de bord relance des requêtes sur des tables volumineuses.
- Coût d’entrepôt plus bas à la lecture. Le pré-calcul du modèle de données de base évite de répéter la même requête lourde pour chaque visualiseur et chaque chargement de page, ce qui réduit l’utilisation redondante de l’entrepôt.
- Pas de frais opérationnels. Azure Databricks crée, stocke et actualise les données matérialisées pour vous. Il n’y a ni pipeline, ni schéma ni stockage à gérer.
Costs
La matérialisation de jeux de données engendre des coûts de stockage et de calcul :
- Stockage. Vous payez pour stocker les données matérialisées. Les charges dépendent du stockage sous-jacent utilisé. Pour un aperçu du stockage dans le catalogue Unity, voir Connecter au stockage d’objets cloud via le catalogue unité.
- Calculer. La création initiale et les mises à jour s’exécutent sur des pipelines Lakeflow serverless et entraînent des charges de calcul. Voir la tarification des pipelines Lakeflow.
Pesez ces coûts par rapport aux économies réalisées par l’évitement des scans et jointures répétées de sources. Choisissez un calendrier de rafraîchissement qui équilibre la fraîcheur des données avec les coûts de calcul.
Quand recourir à la matérialisation
La matérialisation n’est pas toujours le bon levier pour la performance. L’avantage vient du remplacement du recalcul complet et répété d’un jeu de données (balayage et jointure) par des lectures sur une table pré-calculée. Matérialisez un ensemble de données lorsque l’un ou plusieurs des éléments suivants s’appliquent :
- Tableaux de bord très interactifs. Le tableau de bord comporte de nombreux filtres, filtres croisés ou découpages détaillés. En l’absence de matérialisation, chaque interaction réexécute la requête sur l’ensemble de données ; le précalcul de ces ensembles de données est donc rentable à plusieurs reprises au cours d’une session.
- Jeux de données coûteux. Le jeu de données repose sur des jointures entre plusieurs tables, des vues complexes ou des expressions de table communes (CTE), des fonctions de fenêtre ou des unions entre de nombreuses tables.
- Filtres sélectifs sur de grandes tables. Le jeu de données sélectionne un petit sous-ensemble, comme une région ou les 7 derniers jours parmi des milliards de lignes. La matérialisation ne stocke que le petit sous-ensemble.
- Tolérance à l’actualisation programmée. Les données n’ont besoin d’être aussi récentes que la fréquence d’actualisation du tableau de bord, par exemple toutes les heures ou tous les jours, plutôt qu’en temps réel.
Pour de petits ensembles de données ou tableaux de bord rarement chargés, la requête en direct est souvent assez rapide, et la matérialisation peut ne pas valoir le coût. Comme la matérialisation est optionnelle pour chaque publication et chaque jeu de données, vous pouvez l’appliquer uniquement là où elle apporte une réelle valeur.
Exigences
- Accès à un tableau de bord IA/BI.
- Le tableau de bord est publié avec l’option Partage des permissions de données . La matérialisation n’est pas prise en charge pour les tableaux de bord publiés avec des autorisations individuelles de données. Voir Qu’est-ce que les autorisations de données partagées ?.
- Calcul sans serveur activé dans l’espace de travail. La création initiale et les rafraîchissements s’exécutent sur des pipelines Lakeflow sans serveur. Consultez Configurer des entrepôts SQL serverless.
- PEUT UTILISER les permissions sur un entrepôt SQL exécutant Databricks Runtime 17.3 et versions ultérieures.
Activer la matérialisation des ensembles de données
Les jeux de données sont sélectionnés par défaut pour la matérialisation, mais la matérialisation est désactivée sur le tableau de bord jusqu’à ce que vous activiez l’option Matérialisez les ensembles de données lors de la publication.
Choisissez les ensembles de données à matérialiser
Dans l’onglet Données , cliquez sur l’icône de matérialisation à côté d’un jeu de données pour l’inclure ou l’exclure.
Lorsque vous excluez un jeu de données de la matérialisation, les requêtes contre ce jeu de données donnent des résultats en direct, tandis que celles sur des ensembles matérialisés reflètent la dernière exécution de matérialisation. Lorsque tous les jeux de données utilisent le même calendrier de matérialisation, les widgets ont une fraîcheur des données constante.
Publier avec matérialisation
- Cliquez sur Publier dans le tableau de bord du brouillon.
- Sélectionnez Permissions de partage de données dans la boîte de dialogue de publication.
- Activez l’option Matérialiser les ensembles de données pour matérialiser les ensembles de données sélectionnés dans l’onglet Données .
- Cliquez sur Publier.
Activez l’option Materialize datasets à chaque publication.
Fixez un planning de renouvellement
L’actualisation des données matérialisées s’effectue selon la fréquence d’actualisation du tableau de bord. Utilisez le planning du tableau de bord pour ajuster la fréquence de rafraîchissement.
Si le tableau de bord n’a pas de planning, publier avec la matérialisation activée ajoute un planning de mise à jour quotidien. Les calendriers existants sont conservés. Sans calendrier actif, les données matérialisées ne se rafraîchissent pas automatiquement après la création.
Voir l’état de la matérialisation
Dans le tableau de bord publié, ouvrez et sélectionnez Infos. La barre latérale affiche le statut de chaque jeu de données matérialisé et les informations de rafraîchissement.
Réutilisation et nettoyage
Azure Databricks gère le cycle de vie de vos données matérialisées :
- Réutilisation d’une révision à l’autre. Si un tableau de bord est republié par le même utilisateur et qu’un jeu de données reste inchangé, la matérialisation existante sera réutilisée, évitant ainsi un calcul gaspillé.
- Nettoyage automatique. Azure Databricks supprime les matérialisations auxquelles un tableau de bord publié ne fait plus référence, par exemple après une modification de définition ou un retrait de publication.
La republication ne rafraîchit pas nécessairement les données matérialisées.
Limitations
La matérialisation des ensembles de données présente les limitations suivantes :
- Tableaux de bord publiés uniquement. La matérialisation s’applique aux tableaux de bord publiés. Les brouillons continuent d’interroger des données en temps réel.
- Pas de jeux de données paramétrés. Les ensembles de données définissant des paramètres ne peuvent pas être matérialisés. Si vous choisissez un jeu de données paramétré dans la matérialisation, Azure Databricks le déclare comme défaillant au lieu de le matérialiser.
- L’actualisation suit uniquement le calendrier du tableau de bord. Il n’y a pas de calendrier de mise à jour séparé par jeu de données. La matérialisation s’actualise selon la fréquence d’actualisation planifiée de votre tableau de bord.
- Sans serveur requis. La création initiale et les rafraîchissements s’exécutent sur des pipelines Lakeflow sans serveur, donc l’espace de travail doit avoir le calcul serverless activé.
- Les données protégées ne sont pas diffusées à partir des matérialisations. La matérialisation ne peut pas être créée pour des données sources protégées par la sécurité au niveau des lignes, des masques de colonne ou des politiques de contrôle d’accès basées sur attributs (ABAC). Si une sécurité au niveau des lignes est ajoutée à une table source après la création de la matérialisation, les requêtes ultérieures sur la vue de métrique contournent la matérialisation et s’exécutent sur les données source.
- Permissions de partage de données requises. Vous ne pouvez activer la matérialisation que lorsque vous publiez avec des permissions de données partagées. Vous ne pouvez pas l’activer lorsque vous publiez avec des autorisations individuelles de données.
Questions fréquemment posées
Les questions suivantes portent sur le comportement de matérialisation des jeux de données, les actualisations et les permissions.
La matérialisation modifie-t-elle mes indicateurs ou mes résultats ?
La matérialisation préserve la logique de requête du jeu de données, mais ses données reflètent la dernière mise à jour réussie. Pour les vues métriques locales, les mesures sont calculées au moment de la requête par rapport aux données matérialisées. Voyez ce qui se matérialise.
Que se passe-t-il si une matérialisation n’est pas prête ou non disponible ?
Si une matérialisation n’est pas prête ou non disponible au moment de la requête, la requête renvoie une erreur au lieu d’interroger des données en direct. Attendez que la matérialisation se termine, puis relancez la requête.
Où sont stockées les données matérialisées ?
Azure Databricks stocke les données matérialisées dans un espace de stockage interne géré, limité à votre tableau de bord publié. Il n’y a rien à publier dans le catalogue Unity, ni schéma ni stockage à gérer. L’accès continue de dépendre des autorisations de votre tableau de bord et des données sous-jacentes.
À quelle fréquence les données matérialisées sont-elles actualisées ?
L’actualisation des données matérialisées s’effectue selon la fréquence d’actualisation du tableau de bord. Voir Définir un planning de rafraîchissement.
Quelles ressources de calcul la matérialisation utilise-t-elle ?
La création initiale et les rafraîchissements fonctionnent tous deux sur des pipelines Lakeflow serverless gérés par Azure Databricks. C’est pourquoi le calcul serverless doit être activé dans l’espace de travail.
La matérialisation affecte-t-elle les autorisations ?
Non. La matérialisation n’accorde pas un accès supplémentaire aux données. Access suit toujours la configuration de partage du tableau de bord et les autorisations utilisées pour le publier.
Que se passe-t-il lorsque je republie ?
Les matérialisations existantes peuvent être réutilisées lorsque le même utilisateur republie un jeu de données inchangé. Voir Réutilisation et nettoyage. Activez l’option Materialize datasets à chaque publication.