Freigeben über


Standardberechnungsanforderungen und -einschränkungen

Diese Seite enthält eine Liste der Anforderungen und Einschränkungen für die Standardberechnung. Wenn Sie klassische Compute verwenden, empfiehlt Databricks die Verwendung des Standardzugriffsmodus, es sei denn, Ihre Workload ist von einer der unten aufgeführten Einschränkungen abhängig.

Von Bedeutung

Init-Skripts und -Bibliotheken haben unterschiedliche Unterstützung für Zugriffsmodi und Databricks Runtime-Versionen. Weitere Informationen finden Sie unter Wo können Initialisierungsskripts installiert werden? und Bibliotheken im Computebereich.

Aktuelle Standardberechnungseinschränkungen

In den folgenden Abschnitten werden Einschränkungen für die Standardberechnung basierend auf der neuesten Databricks-Runtime-Version aufgeführt. Einschränkungen, die für ältere Databricks-Runtime-Versionen gelten, finden Sie unter Runtime-abhängige Einschränkungen.

Wenn diese Features für Ihre Workload erforderlich sind, verwenden Sie stattdessen dedizierte Compute .

Allgemeine Standardberechnungseinschränkungen

  • Databricks Runtime für ML wird nicht unterstützt. Installieren Sie stattdessen jede ML-Bibliothek, die nicht mit der Databricks-Runtime als computebezogene Bibliothek gebündelt ist.
  • GPU-fähige Compute wird nicht unterstützt.
  • Spark-Sende-Aufgaben werden nicht unterstützt. Verwenden Sie stattdessen eine JAR-Aufgabe.
  • DBUtils und andere Clients können nur über einen externen Speicherort aus dem Cloudspeicher gelesen werden.
  • Benutzerdefinierte Container werden nicht unterstützt.
  • DBFS-Stamm- und Bereitstellungen unterstützen FUSE nicht.

Sprachbeschränkungen

  • R wird nicht unterstützt.

Spark-API-Einschränkungen

  • Spark Context (sc), spark.sparkContextund sqlContext werden für Scala nicht unterstützt:
    • Azure Databricks empfiehlt die Verwendung der spark Variablen für die Interaktion mit der SparkSession Instanz.
    • Die folgenden sc-Funktionen werden ebenfalls nicht unterstützt: emptyRDD, range, init_batched_serializer, parallelize, pickleFile, textFile, wholeTextFiles, binaryFiles, binaryRecords, sequenceFile, newAPIHadoopFile, newAPIHadoopRDD, hadoopFile, hadoopRDD, union, runJob, setSystemProperty, uiWebUrl, stop, setJobGroup, setLocalProperty, getConf.
  • Die Spark-Konfiguration Eigenschaft spark.executor.extraJavaOptions wird nicht unterstützt.
  • Beim Erstellen eines DataFrame aus lokalen Daten mithilfe spark.createDataFramevon Zeilengrößen darf 128 MB nicht überschritten werden.
  • RDD-APIs werden nicht unterstützt.
  • Spark Connect, das in neueren Versionen von Databricks Runtime verwendet wird, verzögert die Analyse- und Namensauflösung auf die Ausführungszeit, wodurch sich das Verhalten Ihres Codes ändern kann. Siehe "Vergleichen von Spark Connect" mit Spark Classic.

UDF-Einschränkungen

Streamingbeschränkungen

Hinweis

Einige der aufgeführten Kafka-Optionen haben eingeschränkte Unterstützung, wenn sie für unterstützte Konfigurationen in Azure Databricks verwendet werden. Alle aufgelisteten Kafka-Einschränkungen gelten sowohl für die Batch- als auch für die Stream-Verarbeitung. Siehe Stream-Verarbeitung mit Apache Kafka und Azure Databricks.

  • Sie können die Formate statestore und state-metadata nicht verwenden, um Zustandsinformationen für zustandsbehaftete Streamingabfragen abzufragen.
  • Das Arbeiten mit Socket-Quellen wird nicht unterstützt.
  • sourceArchiveDir muss sich am gleichen externen Speicherort wie die Quelle befinden, wenn Sie option("cleanSource", "archive") mit einer von Unity Catalog verwalteten Datenquelle verwenden.
  • Für Kafka-Quellen und -Senken werden die folgenden Optionen nicht unterstützt:
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy

Netzwerk- und Dateisystembeschränkungen

  • Die Standardberechnung führt Befehle als Benutzer mit geringen Rechten aus, die nicht auf vertrauliche Teile des Dateisystems zugreifen dürfen.
  • POSIX-Formatpfade (/) für DBFS werden nicht unterstützt.
  • Nur Arbeitsbereichsadministratoren und Benutzer mit ANY FILE-Berechtigungen können direkt mit Dateien mit DBFS interagieren.
  • Sie können keine Verbindung mit dem Instanz-Metadatendienst oder Azure WireServer herstellen.

Scala-Kernelbeschränkungen

Die folgenden Einschränkungen gelten für die Verwendung des skalan Kernels bei der Standardberechnung:

  • Bestimmte Klassen können nicht in Ihrem Code verwendet werden, wenn sie mit der internen Mandelkernbibliothek in Konflikt stehen, insbesondere Input. Eine Liste der definierten Importe von Mandeln finden Sie unter Mandelimporte.
  • Die direkte Protokollierung in log4j wird nicht unterstützt.
  • In der Benutzeroberfläche wird das Drop-down-Menü für das DataFrame-Schema nicht unterstützt.
  • Wenn Ihr Treiber auf OOM trifft, wird die Scala REPL nicht beendet.
  • //connector/sql-aws-connectors:sql-aws-connectors ist nicht im Bazelziel der Scala REPL, verwenden Sie Ergebnisse in ClassNotFoundException.
  • Der Scala-Kernel ist nicht mit SQLImplicits kompatibel.

Laufzeitabhängige Einschränkungen

Die folgenden Einschränkungen wurden durch Laufzeitupdates behoben, gelten aber möglicherweise auch für Ihre Workload, wenn Sie eine ältere Laufzeit verwenden.

Sprachunterstützung

Merkmal Erforderliche Databricks-Runtime-Version
Scala 13.3 oder höher
Alle runtime-gebündelten Java- und Scala-Bibliotheken sind standardmäßig verfügbar. 15.4 LTS oder höher (für 15.3 oder darunter, festgelegt spark.databricks.scala.kernel.fullClasspath.enabled=true)

Spark-API-Unterstützung

Merkmal Erforderliche Databricks-Runtime-Version
Spark ML 17.0 oder höher
Python: SparkContext (sc), , spark.sparkContextsqlContext 14.0 oder höher
Skala Dataset ops: map, , mapPartitions, foreachPartitionflatMap, reducefilter 15.4 LTS oder höher

UDF-Unterstützung

Merkmal Erforderliche Databricks-Runtime-Version
applyInPandas, mapInPandas 14.3 LTS oder höher
Skalare UDFs und Scala UDAFs 14.3 LTS oder höher
Importieren von Modulen aus Git-Ordnern, Arbeitsbereichsdateien oder Volumes in PySpark UDFs 14.3 LTS oder höher
Verwenden von benutzerdefinierten Versionen von grpc, oder pyarrowprotobuf in PySpark UDFs über Notizbuch- oder Compute-bezogenen Bibliotheken 14.3 LTS oder höher
Nicht skalare Python- und Pandas-UDFs, einschließlich UDAFs, UDTFs und Pandas auf Spark 14.3 LTS oder höher
Python skalare UDFs und Pandas UDFs 13.3 LTS oder höher

Streamingunterstützung

Merkmal Erforderliche Databricks-Runtime-Version
transformWithStateInPandas 16.3 oder höher
applyInPandasWithState 14.3 LTS oder höher
Scala foreach 16.1 oder höher
Skala foreachBatch und flatMapGroupsWithState 16.2 oder höher
Scala from_avro 14.2 oder höher
Kafka-Optionen kafka.ssl.truststore.location und kafka.ssl.keystore.location (angegebener Speicherort muss ein externer Speicherort sein, der vom Unity-Katalog verwaltet wird) 13.3 LTS oder höher
Scala StreamingQueryListener 16.1 oder höher
Python StreamingQueryListener interagiert mit unity-katalogverwalteten Objekten 14.3 LTS oder höher

Darüber hinaus hat python foreachBatch die folgenden Verhaltensänderungen für Databricks Runtime 14.0 und höher:

  • print() Befehle schreiben Ausgaben in die Treiberprotokolle.
  • Sie können nicht auf das Untermodul dbutils.widgets innerhalb der Funktion zugreifen.
  • Alle Dateien, Module oder Objekte, auf die in der Funktion verwiesen wird, müssen serialisierbar und in Spark verfügbar sein.

Netzwerk- und Dateisystemunterstützung

Merkmal Erforderliche Databricks-Runtime-Version
Verbindungen mit anderen Ports als 80 und 443 12.2 LTS oder höher