Conditions requises pour les pipelines autonomes
La création et l’actualisation de vues matérialisées et de tables de streaming autonomes nécessitent un Workspace compatible avec Unity Catalog et serverless, ainsi qu’un SQL Warehouse ou un Notebook sur un compute général serverless.
Vous pouvez créer et refresh des vues matérialisées et des tables de streaming autonomes en utilisant un SQL Warehouse. Pour soumettre des instructions CREATE et REFRESH, utilisez l’éditeur SQL dans l’interface utilisateur de Databricks, l’ CLI Databricks SQL ou l’ API Databricks SQL.
Vous pouvez également créer et refresh des vues matérialisées et des tables de streaming autonomes à partir d'un Notebook exécuté sur un compute général Serverless (Bêta). Voir Notebooks.
Conditions requises
Les exigences suivantes s'appliquent à tous les pipelines autonomes.
Vous devez disposer de :
- Un compte Databricks avec le mode serverless activé. Voir Configurer des SQL Warehouse Serverless.
- Un workspace avec Unity Catalog activé. Voir Se familiariser avec Unity Catalog.
Autorisations pour créer ou refresh
Le propriétaire (l'utilisateur qui crée la table) doit disposer des autorisations suivantes :
SELECTprivilège sur les tables de base.USE CATALOGet les privilègesUSE SCHEMAsur le catalogue et le schéma contenant les tables sources.USE CATALOGetUSE SCHEMAprivilèges sur le catalogue et le schéma cibles.CREATE MATERIALIZED VIEWprivilège sur le schéma contenant la vue matérialisée.CREATE TABLEprivilège sur le schéma contenant la table de streaming. Les pipelines utilisant le mode de publication hérité nécessitent également le privilègeCREATE TABLEpour les vues matérialisées.
Pour refresh une vue matérialisée autonome ou une table de streaming :
- Vous devez être dans le workspace qui l'a créé.
- Vous devez disposer du privilège
REFRESHsur la table. Les propriétaires ont implicitement ce privilège.
Configuration requise pour les tables sources
Pour une refresh incrémentielle des vues matérialisées à partir de tables Delta, les tables sources doivent avoir le suivi des lignes activé.
SQL Warehouse
Pour créer ou refresh des vues matérialisées autonomes et des tables de streaming à l'aide d'un SQL Warehouse, vous devez disposer d'un SQL Warehouse pro ou Serverless compatible avec Unity Catalog.
- Votre workspace doit se trouver dans une région qui prend en charge les SQL Warehouse serverless.
- Vous devez avoir accepté les conditions d’utilisation serverless.
Notebooks
Vous pouvez créer et refresh des vues matérialisées et des tables de streaming autonomes à partir d'un Notebook avec le compute général Serverless.
Compute général serverless
Bêta
La création et l’actualisation de vues matérialisées et de tables de streaming standalone à partir d’un notebook sur un compute général serverless est en bêta. Cette fonctionnalité est disponible dans toutes les régions qui prennent en charge le compute serverless. Voir Disponibilité régionale.
Vous pouvez créer et refresh des vues matérialisées autonomes et des tables de streaming à partir d’un Notebook attaché à un compute général serverless. Cette option est utile lorsque vous souhaitez définir et exécuter des vues matérialisées ou des tables de streaming avec d’autres flux de travail basés sur un notebook sans provisionner de SQL warehouse.
Pour créer et refresh des vues matérialisées et des tables de streaming autonomes avec Python dans un Notebook, consultez Utiliser Python avec des pipelines autonomes.
Configuration requise pour le compute général serverless
- Un notebook connecté au compute général serverless.
- Databricks Runtime 18.1 ou version ultérieure. Les notebooks interactifs répondent automatiquement à cette exigence ; les jobs pin à une version plus ancienne ne le font pas.
- Votre workspace doit se trouver dans une région prenant en charge le compute serverless.
Limitations
- Seul le propriétaire de la table peut refresh la table. Pour permettre à un autre utilisateur d’effectuer une refresh, changez le propriétaire. Consultez Changer le propriétaire d’une table de streaming et Changer le propriétaire d’une vue matérialisée.
- Les refresh asynchrones ne sont pas pris en charge. Utilisez un refresh synchrone à la place.
- Le canal de distribution de l'aperçu n’est pas pris en charge. Les tables créées sur le compute général serverless utilisent le canal de distribution
current. - Une table ne peut être actualisée qu’à l’aide du type de compute avec lequel elle a été créée. Une table créée sur un SQL warehouse doit être actualisée sur un SQL warehouse, et une table créée sur le compute général serverless doit être actualisée sur le compute général serverless. Pour vérifier le type de compute, affichez la table dans l’Explorateur de catalogues.
- L’attribution et le contrôle des coûts ne sont pas disponibles. Utilisez un SQL Warehouse si vous avez besoin d’une attribution des coûts par table.
- Le dimensionnement automatique vertical en cas d'erreurs de mémoire n'est pas disponible.
- Les tentatives de mise à niveau de schéma ne sont pas disponibles.
- La sélection du mode de performance lors du refresh n’est pas disponible. Voir Sélectionner un mode de performance pour les refresh planifiés.
Dans un notebook sur un compute general serverless, vous pouvez soumettre des instructions CREATE et REFRESH avec spark.sql, ou définir la table en Python avec les décorateurs de pipelines. Voir Utiliser Python avec des pipelines autonomes.
Exigences de la query
Pour query une vue matérialisée autonome ou une table de streaming, vous devez en être le propriétaire, ou vous devez avoir SELECT sur la table ainsi que USE CATALOG et USE SCHEMA sur ses parents.
Vous devez utiliser l'une des ressources de compute suivantes :
- SQL warehouse
- Interfaces LakeFlow Pipelines
- Compute en mode d’accès standard (anciennement mode d’accès partagé)
- Compute en mode d’accès dédié (anciennement mode d’accès mono-utilisateur) sur Databricks Runtime 15.4 ou version ultérieure, si le workspace est activé pour le compute serverless. Voir Contrôle d’accès détaillé sur le compute dédié. Si vous êtes le propriétaire, vous pouvez utiliser un compute en mode d’accès dédié exécutant Databricks Runtime 14.3 ou version ultérieure.
Pour les tables de streaming sur Databricks Runtime 15.3 et versions antérieures, vous pouvez utiliser un compute dédié pour effectuer une query sur une table de streaming uniquement si vous en êtes propriétaire. Databricks Runtime 15.4 LTS et versions ultérieures prennent en charge l'exécution de requêtes sur des tables générées par un pipeline sur un compute dédié, même si vous n'en êtes pas le propriétaire. Des frais peuvent vous être facturés pour les ressources de compute serverless lorsque vous utilisez un compute dédié pour effectuer des opérations de filtrage de données. Voir Contrôle d'accès précis sur le compute dédié.
Disponibilité régionale
Les tables créées et actualisées à l'aide d'un Databricks SQL warehouse sont disponibles dans toutes les régions qui prennent en charge les Databricks SQL warehouse Serverless.
La création et l’actualisation de vues matérialisées et de tables de streaming standalone sur un compute général serverless sont disponibles dans toutes les régions qui prennent en charge le compute serverless.
Pour obtenir la liste des régions prises en charge pour les deux options de compute, consultez Disponibilité Serverless.