Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.sparkContextetsqlContextne sont pas pris en charge pour Scala :- Azure Databricks recommande d’utiliser la
sparkvariable pour interagir avec l’instanceSparkSession. - Les fonctions
scsuivantes 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.
- Azure Databricks recommande d’utiliser la
- La propriété de la configuration Spark
spark.executor.extraJavaOptionsn’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
- Les fonctions définies par l’utilisateur (UDF) Hive ne sont pas prises en charge. Utilisez plutôt des fonctions définies par l’utilisateur dans le catalogue Unity.
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
statestoreetstate-metadatapour 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
sourceArchiveDirdoit se trouver dans le même emplacement externe que la source quand vous utilisezoption("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.classkafka.sasl.login.callback.handler.classkafka.sasl.login.classkafka.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-connectorsn’est pas dans la cible bazel d REPL Scala, utilisez les résultats dansClassNotFoundException. - 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 |