Exigences et limitations de Unity Catalog
Cette page décrit les exigences de compute, les formats de fichier pris en charge, les contraintes de dénomination et les limitations connues pour Unity Catalog.
Prise en charge des régions
Toutes les régions prennent en charge Unity Catalog. Pour plus d'informations, consultez les clouds et régions Databricks.
Exigences de compute
Unity Catalog est pris en charge sur les clusters qui exécutent Databricks Runtime 11.3 LTS ou version ultérieure. Unity Catalog est pris en charge par default sur toutes les versions de compute SQL Warehouse.
Les clusters exécutés sur des versions antérieures de Databricks Runtime ne prennent pas en charge toutes les fonctionnalités GA de Unity Catalog.
Pour accéder aux données dans Unity Catalog, les clusters doivent être configurés avec le mode d'accès correct. Unity Catalog est sécurisé par default. Si un cluster n'est pas configuré avec le mode d'accès standard ou dédié, le cluster ne peut pas accéder aux données dans Unity Catalog. Consulter les modes d'accès.
Pour des informations détaillées sur les modifications de fonctionnalité d'Unity Catalog dans chaque version de Databricks Runtime, consultez les notes de version.
Prise en charge du format de fichier
Unity Catalog prend en charge les formats de table suivants :
- Les tables gérées doivent utiliser le format de table
deltaouiceberg. - Les tables externes peuvent utiliser
delta,CSV,JSON,avro,parquet,ORCoutext.
Exigences de dénomination d'objet sécurisable
Les limitations suivantes s’appliquent à tous les noms d’objets dans Unity Catalog :
-
Les noms d'objet ne peuvent pas dépasser 255 caractères.
-
Les caractères spéciaux suivants ne sont pas autorisés :
- Période (
.) - Espace ()
- Barre oblique (
/) - Tous les caractères de contrôle ASCII (00-1F hex)
- Le caractère DELETE (7F hex)
- Période (
-
Unity Catalog stocke tous les noms d'objets en minuscules.
-
Lorsque vous faites référence à des noms UC dans SQL, vous devez utiliser des accents graves pour échapper aux noms qui contiennent des caractères spéciaux, tels que des tirets (
-).
Les noms de colonnes peuvent utiliser des caractères spéciaux, mais le nom doit être échappé avec des apostrophes inversées dans toutes les instructions SQL si des caractères spéciaux sont utilisés. Unity Catalog préserve la casse des noms de colonnes, mais les requêtes sur les tables Unity Catalog sont insensibles à la casse.
Limitations
Unity Catalog présente les limitations suivantes. Certains d’entre eux sont spécifiques aux anciennes versions de Databricks Runtime et aux modes d’accès au compute.
Les charges de travail Structured Streaming présentent des limitations supplémentaires, en fonction de Databricks Runtime et du mode d'accès. Voir Exigences et limitations du compute standard et Exigences et limitations du compute dédié.
Databricks publie de nouvelles fonctionnalités qui réduisent régulièrement cette liste.
-
Les groupes qui ont été précédemment créés dans un Workspace (c'est-à-dire les groupes au niveau du Workspace) ne peuvent pas être utilisés dans les instructions
GRANTde Unity Catalog. C'est pour garantir une vue cohérente des groupes qui peuvent s'étendre sur plusieurs Workspace. Pour utiliser des groupes dans les instructionsGRANT, créez vos groupes au niveau du compte et mettez à jour toute automatisation pour la gestion des principaux ou des groupes (tels que les connecteurs SCIM, Okta et Microsoft Entra ID, et Terraform) afin de référencer les Endpoint de compte au lieu des Workspace Endpoint. Voir Regrouper les sources. -
Les charges de travail en R ne prennent pas en charge l'utilisation de vues dynamiques pour la sécurité au niveau des lignes ou des colonnes sur les compute exécutant Databricks Runtime 15.3 et versions antérieures.
- Utilisez une ressource de compute dédiée exécutant Databricks Runtime 15.4 LTS ou une version ultérieure pour les charges de travail en R qui query les vues dynamiques. Ces charges de travail nécessitent également un Workspace activé pour le compute serverless. Pour plus de détails, consultez Contrôle d'accès précis sur le compute dédié.
-
Une table gérée peut être clonée en surface vers une autre table gérée sur Databricks Runtime 13.3 LTS et versions ultérieures. Une table externe peut être clonée superficiellement vers une autre table externe sur Databricks Runtime 14.2 et versions ultérieures. Une table gérée ne peut pas être clonée en surface vers une table externe. De plus, une table externe ne peut pas être clonée en mode léger vers une table gérée. Pour plus d'informations, consultez Clonage superficiel pour les tables Unity Catalog.
-
Le compartimentage n'est pas pris en charge pour les tables Unity Catalog. Si vous exécutez des commandes qui tentent de créer une table compartimentée dans Unity Catalog, cela lancera une exception.
-
L'écriture sur le même chemin ou sur la même table Delta Lake à partir de Workspaces dans plusieurs régions peut entraîner des performances peu fiables si certains clusters accèdent à Unity Catalog et d'autres non.
-
La manipulation des partitions pour les tables externes à l'aide de commandes comme
ALTER TABLE ADD PARTITIONnécessite l'activation de la journalisation des métadonnées de partition. Consultez Découverte de partition pour les tables externes. -
Lors de l’utilisation du mode d’écrasement pour les tables non au format Delta, l’utilisateur doit disposer du privilège CREATE TABLE sur le schéma parent et doit être le propriétaire de l’objet existant OU disposer du privilège MODIFY sur l’objet.
-
Les UDF Python ne sont pas pris en charge dans Databricks Runtime 12.2 LTS et les versions antérieures. Cela inclut les UDAFs, les UDTFs et Pandas sur Spark (
applyInPandasetmapInPandas). Les UDF scalaires Python sont pris en charge dans Databricks Runtime 13.3 LTS et les versions supérieures. -
Les UDF Scala ne sont pas pris en charge dans Databricks Runtime 14.1 et versions antérieures sur le compute avec le mode d'accès standard. Les UDF scalaires sont prises en charge dans Databricks Runtime 14.2 et versions ultérieures sur compute avec un mode d'accès standard.
-
Les pool de threads Scala standard ne sont pas pris en charge. Utilisez plutôt les pool de threads spéciaux dans
org.apache.spark.util.ThreadUtils, par exemple,org.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool. Cependant, les pool de threads suivants dansThreadUtilsne sont pas pris en charge :ThreadUtils.newForkJoinPoolet tout pool de threadsScheduledExecutorService.
Les modèles enregistrés dans Unity Catalog présentent des limitations supplémentaires. Consulter Limitations.
Quotas de ressources
Unity Catalog applique des quotas de ressources sur tous les objets sécurisables. Ces quotas sont listés dans les Limites de ressources. Si vous prévoyez de dépasser ces limites de ressources, contactez l'équipe de votre compte Databricks.
Vous pouvez surveiller votre utilisation des quotas à l'aide des API de quotas de ressources Unity Catalog. Consultez Surveiller votre utilisation des quotas de ressources Unity Catalog.