Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les validations de catalogue déplacent la coordination des validations du système de fichiers vers Unity Catalog, faisant de ce catalogue la seule source de vérité pour l’état des tables Delta Lake et Apache Iceberg. Cela permet des transactions multi-tables, une planification des requêtes plus rapide et un accès régi sur toutes les opérations de table.
Les transactions Delta Lake traditionnelles coordonnent les validations au niveau de la table individuelle. Chaque table gère indépendamment son propre journal des transactions et la détection des conflits. En déplaçant la coordination de la validation au niveau du catalogue, cela permet aux organisations de régir de manière cohérente tous les accès à Lakehouse via Unity Catalog. Il permet également à Unity Catalog d’orchestrer les validations sur plusieurs tables au sein d’une limite de transaction unique tout en conservant les garanties ACID de Delta Lake.
Avantages
Les commits de catalogue fournissent les fonctionnalités suivantes :
Transactions couvrant plusieurs tables : exécutez plusieurs instructions SQL sur plusieurs tables en tant que validation atomique unique. Toutes les modifications réussissent ensemble ou échouent ensemble. Voir Transactions.
Important
Les transactions qui écrivent dans les tables Iceberg gérées par Unity Catalog sont en préversion privée. Pour rejoindre cette préversion, envoyez le formulaire d’inscription en préversion des tables Iceberg managées.
Accès régi : les lectures et les écritures sont coordonnées via le catalogue Unity, de sorte que les moteurs voient le dernier état validé et que les stratégies de gouvernance sont appliquées.
Planification et écritures de requêtes plus rapides : Unity Catalog informe un client Delta des métadonnées au niveau de la table directement lorsqu’il accède à une table, ignore le stockage cloud et supprime une source majeure de latence de métadonnées.
Contraintes applicables : Unity Catalog valide ou rejette les modifications de schéma et de contrainte, empêchant les mises à jour incompatibles susceptibles d’interrompre l’intégrité des données ou les charges de travail en aval.
Accès externe : écrivez en toute sécurité dans des tables gérées par le catalogue Unity à partir de moteurs externes. Le catalogue Unity coordonne les transactions pour éviter la corruption et les conflits de concurrence. Consultez Accéder aux données de Databricks à l’aide de systèmes externes.
Important
Cette fonctionnalité est en version bêta. Les administrateurs d’espace de travail peuvent contrôler l’accès à cette fonctionnalité à partir de la page Aperçus . Consultez Gérer les préversions d’Azure Databricks.
Requirements
- Les tables doivent être des tables gérées par le catalogue Unity (Delta ou Iceberg), y compris les tables en streaming, ou des vues matérialisées.
- Databricks Runtime 16.4 ou une version ultérieure est requis pour lire depuis des tables gérées, y écrire ou en créer lorsque les validations du catalogue sont activées.
- Databricks Runtime 18.0 ou version ultérieure est requis pour activer ou désactiver les validations du catalogue sur les tables gérées existantes.
- La version 17.3 ou ultérieure de Databricks Runtime est requise pour lire depuis ou écrire dans des tables de streaming ou des vues matérialisées avec les commits de catalogue activés.
- Dans les pipelines déclaratifs Spark, un calcul sans serveur ou un calcul classique avec Databricks Runtime 17.3 ou version ultérieure est requis pour lire, écrire dans, créer ou mettre à niveau des tables en streaming ou des vues matérialisées lorsque les validations de catalogue sont activées.
- Databricks Runtime 18 LTS ou version ultérieure est requis pour désactiver les commits de catalogue sur les tables de streaming ou les vues matérialisées existantes.
Activer les validations de catalogue
Activez les commits de catalogue pour les tables gérées nouvelles ou existantes, les tables de streaming et les vues matérialisées.
Activez les commits de catalogue pour les nouvelles tables gérées
Utilisez la propriété de la delta.feature.catalogManaged table lors de la création d’une table gérée :
CREATE TABLE sales_data (
sale_id BIGINT,
amount DECIMAL(10,2),
sale_date DATE
)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Activez les commits de catalogue pour les tables gérées existantes
Utilisez ALTER TABLE pour ajouter des commits de catalogue à une table gérée existante :
ALTER TABLE sales_data SET TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Important
L’activation des validations de catalogue sur une table existante synchronise l’état de la table avec le catalogue. Cette opération peut prendre plusieurs minutes pour les tables qui enregistrent un volume élevé d’opérations d’écriture.
Activez les commits de catalogue pour les tables de streaming ou les vues matérialisées nouvelles ou existantes
Ajoutez la propriété de table delta.feature.catalogManaged à la définition de la table en streaming ou de la vue matérialisée, puis exécutez une mise à jour. Pour un objet existant, mettez à jour sa définition originale. La fonction ALTER TABLE ... SET TBLPROPERTIES n'est pas prise en charge.
L’exemple suivant permet des commits de catalogue pour une table de streaming nouvelle ou existante :
CREATE OR REFRESH STREAMING TABLE streaming_sales_data
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported')
AS SELECT * FROM STREAM sales_data;
Pour une vue matérialisée, utilisez la même propriété de tableau dans sa CREATE OR REFRESH MATERIALIZED VIEW définition.
Vérifier si les validations de catalogue sont activées
Pour vérifier si une table a les validations de catalogue activées :
DESCRIBE DETAIL sales_data;
Si cette option est activée, catalogManaged apparaît dans la tableFeatures colonne.
Désactiver les commits du catalogue
Utilisez Databricks Runtime 18.0 et versions supérieures pour désactiver les commits de catalogue sur une table gérée existante.
Pour une table de streaming existante ou une vue matérialisée, utilisez Databricks Runtime 18 LTS et versions supérieures.
Warning
N’annulez pas les opérations de mise à niveau ou de rétrogradation lors de l’exécution ALTER ou DROP des instructions. L’interruption peut laisser la table dans un état partiellement mis à niveau ou rétrogradé, la verrouillant et empêchant toutes les lectures et écritures futures. Pour rétablir, réexécutez la commande appropriée au lieu d’annuler. Contactez le support Databricks si la table devient verrouillée.
Limitations
- Vous ne pouvez pas activer ou désactiver les commits de catalogue sur des tables gérées existantes en utilisant
CREATE OR REPLACE TABLEouREPLACE TABLE. UtilisezCREATE TABLEavec la propriétédelta.feature.catalogManagedpour l’activer lors de la création d’une table gérée, ouALTER TABLEpour l’activer ou le désactiver dans une table gérée existante. - Les commits de catalogue ne sont pas compatibles avec l’accès externe aux données sur les tables de streaming ou les vues matérialisées. Pour utiliser les validations de catalogue, vous devez d’abord désactiver l’accès externe. Consultez Activer l’accès à des données externes pour les tables en continu et les vues matérialisées.
- Les tables avec validations de catalogue activées sont partagées via OpenSharing à l’aide d’URL pré-signées au lieu de jetons cloud.
- Les clusters mono-utilisateur ne peuvent pas accéder aux tables de streaming pour lesquelles les validations du catalogue sont activées.