Partager via


Exigences et limitations de calcul standard

Cette page inclut une liste des exigences et limitations pour le calcul standard. Si vous utilisez le calcul classique, Databricks recommande d’utiliser le mode d’accès standard, sauf si votre charge de travail dépend de l’une des limitations répertoriées ci-dessous.

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 actuelles du calcul standard

Les sections suivantes répertorient les limitations de calcul standard basées sur la version databricks Runtime la plus récente. Pour connaître les limitations qui s’appliquent aux anciennes versions de Databricks Runtime, consultez les limitations dépendantes du runtime.

Si ces fonctionnalités sont requises pour votre charge de travail, utilisez plutôt le calcul dédié .

Limitations générales du calcul standard

  • Databricks Runtime pour ML n’est pas pris en charge. Au lieu de cela, installez une bibliothèque ML non groupée avec databricks Runtime en tant que bibliothèque délimitée par le calcul.
  • Le calcul avec GPU n’est 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 peuvent uniquement lire à partir du stockage cloud à l’aide d’un emplacement externe.
  • Les conteneurs personnalisés ne sont pas pris en charge.
  • La racine et les montages DBFS ne prennent pas en charge FUSE.

Limitations linguistiques

  • R n’est pas pris en charge.

Limitations de l’API Spark

  • Contexte Spark (sc), spark.sparkContextet sqlContext ne sont pas pris en charge pour Scala :
    • Azure Databricks recommande d’utiliser la spark variable 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.
  • La propriété de la configuration Sparkspark.executor.extraJavaOptions n’est pas prise en charge.
  • Lors de la création d’un DataFrame à partir de données locales à l’aide spark.createDataFramede données locales, les tailles de ligne ne peuvent pas dépasser 128 Mo.
  • Les API RDD ne sont pas prises en charge.
  • Spark Connect, qui est utilisé dans les versions plus récentes de Databricks Runtime, reporte l’analyse et la résolution de noms au temps d’exécution, ce qui peut modifier le comportement de votre code. Consultez Comparer Spark Connect à Spark Classic.

Limitations de la fonction UDF

Limitations de diffusion en continu

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.
  • 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

Limitations du système de fichiers et du réseau

  • Le calcul standard exécute des commandes en tant qu’utilisateur à faible privilège interdit d’accéder à des parties sensibles du système de fichiers.
  • Les chemins de style POSIX (/) pour DBFS ne sont pas pris en charge.
  • Seuls les administrateurs d’espace de travail et les utilisateurs disposant d’autorisations ANY FILE peuvent interagir directement avec des fichiers à l’aide de DBFS.
  • Vous ne pouvez pas vous connecter à Instance Metadata Service ou à Azure WireServer.

Limitations du noyau Scala

Les limitations suivantes s’appliquent lors de l’utilisation du noyau scala sur le calcul standard :

  • Certaines classes ne peuvent pas être utilisées dans votre code s’ils sont en conflit avec la bibliothèque interne du noyau d’amande, notamment Input. Pour obtenir une liste des importations d'amandes définies, consultez les importations d’amandes.
  • La journalisation directe dans log4j n’est pas prise en charge.
  • Dans l’interface utilisateur, la liste déroulante du schéma de dataframe n’est pas prise en charge.
  • Si votre pilote atteint OOM, le REPL Scala ne se termine pas.
  • //connector/sql-aws-connectors:sql-aws-connectors n’est pas dans la cible bazel d REPL Scala, utilisez les résultats dans ClassNotFoundException.
  • Le noyau Scala n’est pas compatible avec SQLImplicits.

Limitations dépendantes du runtime

Les limitations suivantes ont été résolues par le biais des mises à jour du runtime, mais peuvent toujours s’appliquer à votre charge de travail si vous utilisez un runtime plus ancien.

Assistance linguistique

Caractéristique Version de Databricks Runtime requise
Scala 13.3 ou version ultérieure
Toutes les bibliothèques Java et Scala groupées au runtime disponibles par défaut 15.4 LTS ou version ultérieure (pour 15.3 ou inférieur, set spark.databricks.scala.kernel.fullClasspath.enabled=true)

Prise en charge de l’API Spark

Caractéristique Version de Databricks Runtime requise
Spark ML 17.0 ou versions ultérieures
Python : SparkContext (sc), spark.sparkContext, sqlContext 14.0 ou version ultérieure
Scala Dataset ops : map, , mapPartitionsforeachPartition, flatMapreduce, ,filter 15.4 LTS ou version ultérieure

Prise en charge des fonctions UDF

Caractéristique Version de Databricks Runtime requise
applyInPandas, mapInPandas 14.3 LTS ou version ultérieure
UDF scalaires et UDAF Scala 14.3 LTS ou version ultérieure
Importer des modules à partir de dossiers Git, de fichiers d’espace de travail ou de volumes dans les fonctions définies par l’utilisateur PySpark 14.3 LTS ou version ultérieure
Utiliser des versions personnalisées de , grpcou pyarrow dans des fonctions définies par l’utilisateur protobufPySpark via des bibliothèques de notebook ou de calcul 14.3 LTS ou version ultérieure
Fonctions définies par l’utilisateur Python et Pandas non scalaires, notamment les fonctions UDAF, les fonctions définies par l’utilisateur et Pandas sur Spark 14.3 LTS ou version ultérieure
Fonctions définies par l’utilisateur scalaire Python et fonctions définies par l’utilisateur Pandas 13.3 LTS ou version ultérieure

Prise en charge de la diffusion en continu

Caractéristique Version de Databricks Runtime requise
transformWithStateInPandas 16.3 ou version ultérieure
applyInPandasWithState 14.3 LTS ou version ultérieure
Scala foreach 16.1 ou version ultérieure
Scala foreachBatch et flatMapGroupsWithState 16.2 ou version ultérieure
Scala from_avro 14.2 ou version ultérieure
Options kafka.ssl.truststore.location Kafka et kafka.ssl.keystore.location (emplacement spécifié doit être un emplacement externe géré par le catalogue Unity) 13.3 LTS ou version ultérieure
Scala StreamingQueryListener 16.1 ou version ultérieure
Interaction de Python StreamingQueryListener avec des objets gérés par le catalogue Unity 14.3 LTS ou version ultérieure

En outre, pour Python, foreachBatch les modifications de comportement suivantes sont apportées à 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.

Prise en charge du réseau et du système de fichiers

Caractéristique Version de Databricks Runtime requise
Connexions aux ports autres que 80 et 443 12.2 LTS ou version ultérieure