Partager via


Limitations du calcul serverless

Cet article explique les limitations actuelles du calcul serverless pour les notebooks et les travaux. Il commence par une vue d’ensemble des considérations les plus importantes, puis fournit une liste de référence complète des limitations.

Limitations générales

Avant de créer des charges de travail ou de migrer des charges de travail vers un calcul serverless, tenez d’abord compte des limitations suivantes :

  • R n’est pas pris en charge.
  • Seules les API Spark Connect sont prises en charge. Les API RDD Spark ne sont pas prises en charge.
  • Spark Connect, qui est utilisé par le calcul serverless, reporte l’analyse et la résolution de noms au temps d’exécution, ce qui peut changer le comportement de votre code. Consultez Comparer Spark Connect à Spark Classic.
  • SQL ANSI est le mode par défaut lors de l’écriture de SQL. Désactivez le mode ANSI en définissant spark.sql.ansi.enabled sur false.
  • Databricks Container Services n’est pas pris en charge.
  • Vous devez utiliser le catalogue Unity pour vous connecter à des sources de données externes. Utilisez les emplacements externes pour accéder au stockage cloud.
  • Les fonctions définies par l’utilisateur (UDF) ne peuvent pas accéder à Internet. Pour cette raison, la commande CREATE FUNCTION (Externe) n’est pas prise en charge. Databricks recommande d’utiliser CREATE FUNCTION (SQL et Python) pour créer des fonctions définies par l’utilisateur.
  • Le code personnalisé défini par l'utilisateur, tel que les UDF, map, et mapPartitions, ne peuvent pas dépasser 1 Go d'utilisation de la mémoire.
  • 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.
  • L’interface utilisateur Spark n’est pas disponible. Utilisez plutôt le profil de requête pour afficher des informations sur vos requêtes Spark. Voir Profil de requête.
  • Les journaux Spark ne sont pas disponibles. Les utilisateurs ont uniquement accès aux journaux d’activité d’application côté client.
  • L’accès entre espaces de travail est autorisé uniquement si les espaces de travail se trouvent dans la même région et que l’espace de travail de destination n’a pas de liste de contrôle d’accès IP ou privateLink frontal configuré.
  • Les vues temporaires globales ne sont pas prises en charge. Databricks recommande d’utiliser des vues temporaires de session ou de créer des tables où le passage de données intersession est requis.
  • Les coordonnées Maven ne sont pas prises en charge.
  • L’accès à DBFS est limité. Utilisez plutôt des volumes de catalogue Unity ou des fichiers d’espace de travail .

Limitations de la diffusion en continu

Limitations des blocs-notes

  • Scala et R ne sont pas pris en charge dans les notebooks.
  • Les bibliothèques JAR ne sont pas prises en charge dans les notebooks. Pour obtenir des solutions de contournement, consultez l’article Meilleures pratiques relatives au calcul serverless. Les tâches JAR dans les emplois sont prises en charge. Consultez Tâche JAR pour des travaux.
  • Les bibliothèques limitées aux notebooks ne sont pas mises en cache entre les sessions de développement.
  • Le partage de tables et de vues TEMP lors du partage d’un bloc-notes entre les utilisateurs n’est pas pris en charge.
  • La saisie semi-automatique et l’explorateur de variables pour les dataframes dans les notebooks ne sont pas prises en charge.
  • Par défaut, les nouveaux blocs-notes sont enregistrés au .ipynb format. Si votre bloc-notes est enregistré au format source, les métadonnées serverless peuvent ne pas être capturées correctement et certaines fonctionnalités peuvent ne pas fonctionner comme prévu.
  • Les balises de notebook ne sont pas prises en charge. Utilisez des stratégies de budget serverless pour identifier l’utilisation sans serveur.

Limitations du travail

  • Les journaux des tâches ne sont pas isolés par exécution de tâche. Les journaux contiennent la sortie de plusieurs tâches.
  • Les bibliothèques de tâches ne sont pas prises en charge pour les tâches de notebook. Utilisez les bibliothèques limitées à un notebook. Consultez Bibliothèques Python délimitées à un notebook.
  • Par défaut, les travaux serverless n’ont pas de délai d’exécution de requête. Vous pouvez définir un délai d’attente d’exécution pour les requêtes de travail à l’aide de la spark.databricks.execution.timeout propriété. Pour plus d’informations, consultez Configurer les propriétés Spark pour les blocs-notes serverless et les travaux.

Limitations spécifiques au calcul

Les fonctionnalités spécifiques au calcul suivantes ne sont pas prises en charge :

Limitations de mise en cache

Limitations de Hive

  • Les tables Hive SerDe ne sont pas prises en charge. En outre, la commande LOAD DATA correspondante qui charge les données dans une table Hive SerDe n’est pas prise en charge. L’utilisation de la commande entraîne une exception.

    La prise en charge des sources de données est limitée à AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT et XML.

  • Les variables Hive (par exemple ${env:var}, ${configName}, ${system:var} et spark.sql.variable) ou les références de variables de configuration à l’aide de la syntaxe ${var} ne sont pas prises en charge. L’utilisation de variables Hive entraîne une exception.

    Utilisez plutôt les DECLARE VARIABLESET VARIABLE , et SQL et les marqueurs de paramètres (' ?' ou ' :var') pour déclarer, modifier et référencer l’état de session. Vous pouvez également utiliser la clause IDENTIFIER pour paramétrer les noms d’objets dans de nombreux cas.

Sources de données prises en charge

Le calcul serverless prend en charge les sources de données suivantes pour les opérations DML (écriture, mise à jour, suppression) :

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG

Le calcul serverless prend en charge les sources de données suivantes pour les opérations de lecture :

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG
  • MYSQL
  • POSTGRESQL
  • SQLSERVER
  • REDSHIFT
  • SNOWFLAKE
  • SQLDW (Azure Synapse)
  • DATABRICKS
  • BIGQUERY
  • ORACLE
  • SALESFORCE
  • SALESFORCE_DATA_CLOUD
  • TERADATA
  • WORKDAY_RAAS
  • MONGODB