Validations de catalogue

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).
  • La version Databricks Runtime 16.4 ou supérieure est requise pour lire, écrire ou créer des tables avec les validations de catalogue activées.
  • Databricks Runtime 18.0 et versions ultérieures est nécessaire pour activer ou désactiver les validations de catalogue sur les tables existantes.

Activer les validations de catalogue

Vous pouvez activer les validations de catalogue sur les tables nouvelles et existantes.

Activer les validations de catalogue pour les nouvelles tables

Utilisez la propriété de table delta.feature.catalogManaged pour créer une table :

CREATE TABLE sales_data (
  sale_id BIGINT,
  amount DECIMAL(10,2),
  sale_date DATE
)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');

Activer les validations de catalogue pour les tables existantes

Utilisez ALTER TABLE pour ajouter des commits de catalogue à une table 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.

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

Vous pouvez désactiver les validations de catalogue à l’aide de Databricks Runtime 18.0 et versions ultérieures. Consultez Supprimer une fonctionnalité de table Delta Lake et passer à une version antérieure du protocole de table.

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 validations de catalogue sur les tables existantes à l’aide CREATE OR REPLACE TABLE ou REPLACE TABLE. Utilisez CREATE TABLE avec la propriété delta.feature.catalogManaged pour l’activer lors de la création d’une table, ou ALTER TABLE pour l’activer ou le désactiver pour une table existante.
  • Pour utiliser les validations de catalogue sur les tables de streaming, vous devez contacter l’équipe Databricks en charge de votre compte et demander l’accès à la version préliminaire publique.
  • Les validations de catalogue ne sont pas compatibles avec l’accès aux données externes sur les tables de streaming. 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 vues matérialisées ne peuvent pas avoir de validations de catalogue activées.
  • Les clusters mono-utilisateur ne peuvent pas accéder aux tables de streaming pour lesquelles les validations du catalogue sont activées.

Ressources supplémentaires