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

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

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

Remarque

Le partage sans isolation est un mode d’accès hérité qui ne prend pas en charge Unity Catalog.

Important

Les scripts et bibliothèques init ont une prise en charge qui varie 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 cluster.

Limitations du mode d’accès utilisateur unique sur Unity Catalog

Le mode d’accès mono-utilisateur sur Unity Catalog présente les limitations suivantes. Ces limitations s’ajoutent aux limitations générales de tous les modes d’accès à Unity Catalog. Consultez Limitations générales pour Unity Catalog.

Limitations de contrôle d’accès affinées pour le mode d’accès mono-utilisateur à Unity Catalog

  • Les vues dynamiques ne sont pas prises en charge.

  • Pour lire les données dans une vue, vous devez avoir l’accès SELECT sur toutes les vues et tables référencées.

  • Vous n’avez pas accès à une table qui présente un filtre de ligne ou un masque de colonne.

  • Vous ne pouvez pas utiliser un calcul à utilisateur unique pour interroger des tables créées par un pipeline Delta Live Tables compatible avec Unity Catalog, y compris les tables de diffusion en continu et les vues matérialisées créées dans Databricks SQL. Pour interroger des tables créées par un pipeline Delta Live Tables, vous devez utiliser un calcul partagé utilisant Databricks Runtime 13.1 et versions ultérieures.

Limitations de diffusion en continu pour le mode d’accès mono-utilisateur à Unity Catalog

  • La création de point de contrôle asynchrone n’est pas prise en charge dans Databricks Runtime 11.3 LTS et versions antérieures.

Limitations du mode d’accès partagé sur Unity Catalog

Le mode d’accès partagé sur Unity Catalog présente les limitations suivantes. Ces limitations s’ajoutent aux limitations générales de tous les modes d’accès à Unity Catalog. Consultez Limitations générales pour Unity Catalog.

  • Databricks Runtime ML et Spark Machine Learning Library (MLlib) ne sont pas pris en charge.

  • Les travaux spark-submit ne sont pas pris en charge.

  • Lorsqu’elles sont utilisées avec le transfert d’informations d’identification, les fonctionnalités Unity Catalog sont désactivées.

  • Les conteneurs personnalisés ne sont pas pris en charge.

Prise en charge linguistique pour le mode d’accès partagé à Unity Catalog

  • R n’est pas pris en charge.
  • Scala est pris en charge sur Databricks Runtime 13.3 et versions ultérieures.

Limitations de l’API Spark pour le mode d’accès partagé à Unity Catalog

  • Les API RDD ne sont pas prises en charge.
  • DBUtils et d’autres clients qui lisent directement les données à partir du stockage cloud ne sont pas pris en charge.
  • Le contexte Spark (sc), spark.sparkContext et sqlContext ne sont pas pris en charge pour Scala dans n’importe quel Databricks Runtime et ne sont pas pris en charge pour Python dans Databricks Runtime 14.0 et versions ultérieures.
    • Databricks recommande d'utiliser 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.

Limitations des fonctions définies par l’utilisateur pour le mode d’accès partagé à Unity Catalog

Important

La prise en charge des fonctions définies par l’utilisateur Scala sur un calcul compatible avec Unity Catalog avec le mode d’accès partagé est en Préversion publique.

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

  • Les fonctions définies par l’utilisateur Hive ne sont pas prises en charge.

  • applyInPandas et mapInPandas ne sont pas pris en charge.

  • Dans Databricks Runtime 14.2 et versions ultérieures, les fonctions scalaires définies par l’utilisateur Scala sont prises en charge. Les autres fonctions UDF et UDAF Scala ne sont pas prises en charge.

  • Dans Databricks Runtime 13.2 et ultérieur, les fonctions UDF scalaires Python et les fonctions UDF Pandas sont prises en charge. Les autres fonctions définies par l’utilisateur Python, notamment les fonctions UDAF, UDTF et Pandas sur Spark, ne sont pas prises en charge.

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

Limitations de diffusion en continu pour le mode d’accès partagé à Unity Catalog

Remarque

Certaines des options Kafka répertoriées ont une prise en charge limitée lorsqu’elles sont utilisées pour les configurations prises en charge sur Azure Databricks. Consultez Traitement de flux avec Apache Kafka et Azure Databricks.

  • Pour Scala, foreach et foreachBatch ne sont pas pris en charge.
  • Pour Scala, from_avro nécessite Databricks Runtime 14.2 ou version ultérieure.
  • La fonction applyInPandasWithState n'est pas prise en charge.
  • L’utilisation des sources de socket n’est pas prise en charge.
  • sourceArchiveDir doit se trouver au même emplacement externe que la source quand vous utilisez option("cleanSource", "archive") avec une source de données géré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.0, mais ne le sont pas dans Databricks Runtime 12.2 LTS. Vous pouvez uniquement spécifier des emplacements externes gérés par Unity Catalog pour les options suivantes :
    • kafka.ssl.truststore.location
    • kafka.ssl.keystore.location

Limitations d’accès au réseau et au système de fichiers pour le mode d’accès partagé à Unity Catalog

  • 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 antérieures, vous pouvez uniquement créer des connexions réseau aux ports 80 et 443.

  • Impossible de se connecter au service de métadonnées d’instance ou à Azure WireServer.

Limitations générales pour Unity Catalog

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

Limitations de diffusion en continu pour Unity Catalog

  • Le mode de traitement continu Apache Spark n’est pas pris en charge. Consultez Traitement continu dans le Guide de programmation Spark du Structured Streaming.
  • StreamingQueryListener ne peut pas utiliser d’informations d’identification ni interagir avec des objets gérés par Unity Catalog.

Consultez également Limitations de diffusion en continu pour le mode d’accès mono-utilisateur à Unity Catalog et Limitations de diffusion en continu pour le mode d’accès partagé à Unity Catalog.

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