Partager via


Limitations des modes d’accès au calcul pour Unity Catalog

Note

Les modes d’accès ont été renommés. Le mode d’accès partagé est désormais Standard. Le mode d’accès à un seul utilisateur est désormais dédié et peut être affecté à un seul utilisateur ou groupe. L’accès groupe est en préversion publique.

Databricks recommande d’utiliser le mode d’accès standard (anciennement mode d’accès partagé) pour la plupart des charges de travail. Cet article décrit les limitations et exigences de chaque mode d’accès avec Unity Catalog. Pour plus de détails sur les modes d’accès, consultez Modes d’accès.

Databricks recommande l’utilisation de stratégies de calcul pour simplifier les options de configuration de la plupart des utilisateurs. Consultez Créer et gérer des stratégies de calcul.

Note

Les modes d’accès partagé sans isolation et de transfert d’informations d'identification sont des modes hérités qui ne prennent pas en charge Unity Catalog.

Important

Les scripts d’initialisation et les bibliothèques ont différentes prises en charge selon les modes d’accès et les versions de Databricks Runtime. Consultez Où peuvent être installés les scripts d’initialisation ? et Bibliothèques à l’échelle du calcul.

Limitations du mode d'accès dédié sur Unity Catalog

Le mode d’accès dédié sur le catalogue Unity présente les limitations suivantes. Cela s’ajoute aux limitations générales de tous les modes d’accès de Unity Catalog. Consultez Limitations générales de Unity Catalog.

Limitations de contrôle d’accès affinées pour le mode d’accès dédié du catalogue Unity

Sur Databricks Runtime 15.3 et versions inférieures, le contrôle d’accès granulaire du calcul d’un seul utilisateur n’est pas pris en charge. Plus précisément :

Pour interroger des vues dynamiques, des vues pour lesquelles vous n’avez pas SELECT sur les tables et les vues sous-jacentes et des tables avec des filtres de ligne ou des masques de colonne, utilisez un des éléments suivant :

  • Un entrepôt SQL.
  • Calculer avec le mode d’accès standard.
  • Calcul avec mode d’accès dédié sur Databricks Runtime 15.4 LTS ou version ultérieure.

Databricks Runtime 15.4 LTS et versions ultérieures prennent en charge le contrôle d’accès granulaire sur le calcul d’un seul utilisateur. Pour bénéficier du filtrage de données fourni dans Databricks Runtime 15.4 LTS et versions ultérieures, vérifiez que votre espace de travail est activé pour le calcul serverless.

Le calcul serverless gère le filtrage des données, ce qui permet d’accéder à une vue sans avoir besoin d’autorisations sur ses tables et vues sous-jacentes. Étant donné que le calcul serverless gère le filtrage des données, vous pourriez encourir des frais de calcul serverless si vous utilisez le calcul d’un seul utilisateur pour interroger des vues. Pour plus d’informations, consultez contrôle d'accès détaillé sur l'environnement de calcul dédié (précédemment appelé calcul mono-utilisateur).

Limitations des tables de diffusion en continu et des vues matérialisées du mode d’accès dédié de Unity Catalog

Sur Databricks Runtime 15.3 et versions inférieures, vous ne pouvez pas utiliser le calcul d’un seul utilisateur pour interroger des tables créées en utilisant un pipeline Delta Live Tables, notamment des tables de diffusion en continu et des vues matérialisées, si ces tables appartiennent à d’autres utilisateurs. L’utilisateur qui crée une table en est le propriétaire.

Pour interroger des tables de diffusion en continu et des vues matérialisées créées par Delta Live Tables qui appartiennent à d’autres utilisateurs, utilisez l’une des options suivantes :

  • Un entrepôt SQL.
  • Calcul avec mode d’accès standard sur Databricks Runtime 13.3 LTS ou version ultérieure.
  • Calcul avec mode d’accès dédié sur Databricks Runtime 15.4 LTS ou version ultérieure.

Votre espace de travail doit également être activé pour le calcul serverless. Pour plus d'informations, consultez Contrôle d'accès granulaire sur le calcul dédié (anciennement appelé calcul d’un seul utilisateur).

Limites de streaming pour le mode d'accès dédié du Unity Catalog

  • Le point de contrôle asynchrone n’est pas pris en charge dans Databricks Runtime 11.3 LTS et versions inférieures.
  • StreamingQueryListener nécessite Databricks Runtime 15.1 ou version ultérieure pour utiliser des informations d’identification ou interagir avec des objets managés par Unity Catalog sur un calcul par utilisateur.

Limitations du mode d’accès standard sur Unity Catalog

Le mode d’accès standard dans le catalogue Unity présente les limitations suivantes. Cela s’ajoute aux limitations générales de tous les modes d’accès de Unity Catalog. Consultez Limitations générales de Unity Catalog.

  • Databricks Runtime ML et Spark Machine Learning Library (MLlib) ne sont pas pris en charge.
  • Les tâches de travail spark-submit ne sont pas prises en charge. Utilisez une tâche JAR à la place.
  • DBUtils et d’autres clients lisant directement les données du stockage cloud sont pris en charge uniquement quand vous utilisez un emplacement externe pour accéder à l’emplacement de stockage. Consultez Créer un emplacement externe pour connecter le stockage cloud à Azure Databricks.
  • Dans Databricks Runtime 13.3 et versions ultérieures, les lignes individuelles ne doivent pas dépasser 128 Mo.
  • La racine et les montages DBFS ne prennent pas en charge FUSE.
  • Les conteneurs personnalisés ne sont pas pris en charge.

Support linguistique pour le mode d’accès standard de Unity Catalog

  • R n’est pas pris en charge.
  • Scala est pris en charge dans Databricks Runtime 13.3 et versions ultérieures.
    • Dans Databricks Runtime 15.4 LTS et versions ultérieures, toutes les bibliothèques Java ou Scala (fichiers JAR) fournies avec Databricks Runtime sont disponibles pour le calcul dans les modes d’accès de Unity Catalog.
    • Pour Databricks Runtime 15.3 ou inférieur sur les instances de calcul qui utilisent le mode d’accès standard, définissez la configuration Spark spark.databricks.scala.kernel.fullClasspath.enabled sur true.

limitations et exigences de l’API Spark pour le mode d’accès standard du catalogue Unity

  • Les API RDD ne sont pas prises en charge.
  • Le contexte Spark (sc), spark.sparkContext et sqlContext ne sont pris en charge pour Scala dans aucun Databricks Runtime et ne sont pas pris en charge pour Python dans Databricks Runtime 14.0 et versions ultérieures.
    • Databricks recommande l’utilisation de la variable spark pour interagir avec l'instance SparkSession.
    • Les fonctions sc suivantes ne sont pas prises en charge : emptyRDD, range, init_batched_serializer, parallelize, pickleFile, textFile, wholeTextFiles, binaryFiles, binaryRecords, sequenceFile, newAPIHadoopFile, newAPIHadoopRDD, hadoopFile, hadoopRDD, union, runJob, setSystemProperty, uiWebUrl, stop, setJobGroup, setLocalProperty, getConf.
  • Les opérations d’API de jeu de données Scala suivantes nécessitent Databricks Runtime 15.4 LTS ou version ultérieure : map, mapPartitions, foreachPartition, flatMap, reduce et filter.
  • La propriété de la configuration Sparkspark.executor.extraJavaOptions n’est pas prise en charge.

limitations et exigences UDF pour le mode d’accès standard du catalogue Unity

Les fonctions définies par l’utilisateur (UDF) présentent les limitations suivantes avec le mode d’accès standard :

  • Les fonctions définies par l’utilisateur (UDF) Hive ne sont pas prises en charge.
  • applyInPandas et mapInPandas nécessitent Databricks Runtime 14.3 ou version ultérieure.
  • Les fonctions définies par l’utilisateur PySpark ne peuvent pas accéder aux dossiers, aux fichiers de l’espace de travail ou aux volumes Git pour importer des modules dans Databricks Runtime 14.2 et versions inférieures.
  • Les UDF scalaires Scala nécessitent Databricks Runtime 14.2 ou version ultérieure. Les autres UDF et UDAF Scala ne sont pas prises en charge.
  • Dans Databricks Runtime 14.2 et versions inférieures, l’utilisation d’une version personnalisée de grpc, pyarrow ou protobuf dans une UDF PySpark via des bibliothèques délimitées aux notebooks ou au cluster n’est pas prise en charge, car la version installée est toujours préférée. Pour rechercher la version des bibliothèques installées, consultez la section Environnement système des notes de publication de la version spécifique de Databricks Runtime.
  • Les UDF scalaires Python et les UDF Pandas nécessitent Databricks Runtime 13.3 LTS ou version ultérieure.
  • Les UDF Python et Pandas non scalaires, y compris les UDAF, les UDTF et Pandas sur Spark, nécessitent Databricks Runtime 14.3 LTS ou version ultérieure.

Consultez les Fonctions définies par l’utilisateur (UDF) dans Unity Catalog.

limitations et exigences de streaming pour le mode d’accès standard du catalogue Unity

Note

Certaines des options Kafka répertoriées ont une prise en charge limitée quand elles sont utilisées dans des configurations prises en charge sur Azure Databricks. Toutes les limitations Kafka répertoriées sont valides pour le traitement par lot et par flux. Consultez Traitement par flux avec Apache Kafka et Azure Databricks.

  • Vous ne pouvez pas utiliser les formats statestore et state-metadata pour interroger les informations d’état des requêtes de diffusion en continu avec état.
  • transformWithState, transformWithStateInPandaset les API associées ne sont pas prises en charge.
  • Pour Scala, foreach nécessite Databricks Runtime 16.1 ou version ultérieure. foreachBatchet flatMapGroupsWithState nécessitent Databricks Runtime 16.2 ou version ultérieure.
  • Pour Python, foreachBatch présente les modifications de comportement suivantes dans Databricks Runtime 14.0 et versions ultérieures :
    • Les commandes print() écrivent la sortie dans les journaux d’activité du pilote.
    • Vous ne pouvez pas accéder au sous-module dbutils.widgets à l’intérieur de la fonction.
    • Tous les fichiers, modules ou objets référencés dans la fonction doivent être sérialisables et disponibles sur Spark.
  • Pour Scala, from_avro nécessite Databricks Runtime 14.2 ou version ultérieure.
  • applyInPandasWithState nécessite Databricks Runtime 14.3 LTS ou version ultérieure.
  • L’utilisation de sources de socket n’est pas prise en charge.
  • La sourceArchiveDir doit se trouver dans le même emplacement externe que la source quand vous utilisez option("cleanSource", "archive") avec une source de données managée par Unity Catalog.
  • Pour les sources et récepteurs Kafka, les options suivantes ne sont pas prises en charge :
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy
  • Les options Kafka suivantes sont prises en charge dans Databricks Runtime 13.3 LTS et versions ultérieures, mais non prises en charge dans Databricks Runtime 12.2 LTS. Vous pouvez uniquement spécifier des emplacements externes managés par Unity Catalog pour les options suivantes :
    • kafka.ssl.truststore.location
    • kafka.ssl.keystore.location
  • Pour Scala, StreamingQueryListener nécessite Databricks Runtime 16.1 et versions ultérieures.
  • Pour Python, StreamingQueryListener nécessite Databricks Runtime 14.3 LTS ou version ultérieure pour utiliser des informations d’identification ou interagir avec des objets gérés par Unity Catalog sur le calcul avec le mode d’accès standard.

Limitations et exigences relatives à l’accès au réseau et au système de fichiers pour le mode d’accès standard du catalogue Unity

  • Vous devez exécuter les commandes sur des nœuds de calcul en tant qu’utilisateur à faibles privilèges qui ne peut pas accéder aux parties sensibles du système de fichiers.
  • Dans Databricks Runtime 11.3 LTS et versions inférieures, vous pouvez uniquement créer des connexions réseau aux ports 80 et 443.
  • Vous ne pouvez pas vous connecter à Instance Metadata Service ou à Azure WireServer.

Limitations générales de Unity Catalog

Les limitations suivantes s’appliquent à tous les modes d’accès compatibles avec Unity Catalog.

Limitations de diffusion en continu de Unity Catalog

  • Le mode de traitement continu Apache Spark n’est pas pris en charge. Consultez Traitement continu dans le guide de programmation de Structured Streaming Spark.

Consultez également Limitations de diffusion en continu du mode d’accès dédié de Unity Catalog et Limitations et exigences de diffusion en continu du mode d’accès standard de Unity Catalog.

Pour en savoir plus sur la diffusion en continu avec Unity Catalog, consultez Utilisation de Unity Catalog avec Structured Streaming.