Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die aktuellen Einschränkungen des serverlosen Computing für Notebooks und Aufträge erläutert. Es beginnt mit einer Übersicht über die wichtigsten Überlegungen und bietet dann eine umfassende Referenzliste der Einschränkungen.
Sprach- und API-Unterstützung
- R wird nicht unterstützt.
- Es werden nur Spark Connect-APIs unterstützt. Spark-RDD-APIs werden nicht unterstützt.
- Spark Connect, das im serverlosen Computing eingesetzt wird, verschiebt 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.
- ANSI SQL ist die Standardeinstellung beim Schreiben von SQL. Verlassen Sie den ANSI-Modus, indem Sie
spark.sql.ansi.enabledauffalsesetzen. - Beim Erstellen eines DataFrame aus lokalen Daten mithilfe
spark.createDataFramedürfen die Zeilengrößen 128 MB nicht überschreiten.
Datenzugriff und -speicherung
- Sie müssen Unity Catalog verwenden, um eine Verbindung mit externen Datenquellen herzustellen. Verwenden Sie externe Speicherorte, um auf Cloudspeicher zuzugreifen.
- Der Zugriff auf DBFS ist eingeschränkt. Verwenden Sie stattdessen Unity-Katalog-Volumes oder Arbeitsbereichsdateien.
- Maven-Koordinaten werden nicht unterstützt.
- Globale Temp-Ansichten werden nicht unterstützt. Wenn sitzungsübergreifendes Übergeben von Daten erforderlich ist, empfiehlt Databricks die Verwendung temporärer Sitzungsansichten oder das Erstellen von Tabellen.
Benutzerdefinierte Funktionen (User-Defined Functions, UDFs)
- Benutzerdefinierte Funktionen (User-Defined Functions, UDFs) können nicht auf das Internet zugreifen. Aus diesem Grund wird der CREATE FUNCTION Befehl (extern) nicht unterstützt. Databricks empfiehlt die Verwendung von CREATE FUNCTION (SQL und Python) zum Erstellen von UDFs.
- Benutzerdefinierter Code, z. B. UDFs,
map, undmapPartitions, darf 1 GB Speichernutzung nicht überschreiten. - Scala UDFs können nicht in höherer Ordnungsfunktionen verwendet werden.
Benutzeroberfläche und Protokollierung
- Die Spark-Benutzeroberfläche ist nicht verfügbar. Verwenden Sie stattdessen das Abfrageprofil, um Informationen zu Ihren Spark-Abfragen anzuzeigen. Siehe Abfrageprofil.
- Spark-Protokolle sind nicht verfügbar. Benutzer haben nur Zugriff auf clientseitige Anwendungsprotokolle.
Netzwerk- und Arbeitsbereichszugriff
- Der arbeitsbereichübergreifende Zugriff ist nur zulässig, wenn sich die Arbeitsbereiche in derselben Region befinden und der Zielarbeitsbereich keine IP-ACL oder Front-End-PrivateLink konfiguriert hat.
- Databricks-Containerdienste werden nicht unterstützt.
Streamingbeschränkungen
Serverless Computing unterstützt die folgenden Structured Streaming triggers:
-
Trigger.AvailableNow(). Databricks empfiehlt diesen Triggermodus für die serverlose Berechnung. -
Trigger.Once(). Dieser veraltete Modus wird unterstützt, wird jedoch nicht empfohlen.
Die folgenden Trigger werden auf serverloser Berechnung nicht unterstützt:
-
Trigger.Continuous(interval). -
Trigger.ProcessingTime(interval).- Wenn Sie keinen Triggermodus angeben, legt Apache Spark den Trigger standardmäßig auf
Trigger.ProcessingTime("0 seconds"). Sie müssen einen unterstützten Trigger auf serverlosem Rechnen festlegen.
- Wenn Sie keinen Triggermodus angeben, legt Apache Spark den Trigger standardmäßig auf
Wenn Sie versuchen, einen nicht unterstützten Trigger zu verwenden, löst die Abfrage einen Fehler INFINITE_STREAMING_TRIGGER_NOT_SUPPORTEDaus.
Verwenden Sie für fortlaufende Streamingworkloads den modus "Triggered vs. continuous pipeline" im fortlaufenden Modus ohne Server oder Trigger.AvailableNow() kontinuierlich in run-Aufträgen.
Alle Einschränkungen für das Streaming im Standardzugriffsmodus gelten ebenfalls. Weitere Informationen finden Sie unter Streamingbeschränkungen.
Einschränkungen für Notebooks
- Scala und R werden in Notizbüchern nicht unterstützt.
- JAR-Bibliotheken werden in Notizbüchern nicht unterstützt. Behelfslösungen finden Sie unter Bewährte Methoden für das serverlose Computing. JAR-Aufgaben in Aufträgen werden unterstützt. Siehe JAR-Task für Aufträge.
- Bibliotheken, die an Notebooks gebunden sind, werden während Entwicklungssitzungen nicht zwischengespeichert.
- Das Freigeben von TEMP-Tabellen und -Sichten beim Freigeben eines Notebooks unter Benutzern wird nicht unterstützt.
- Autovervollständigung und Variablen-Explorer für Datenrahmen in Notebooks werden nicht unterstützt.
- Standardmäßig werden neue Notizbücher im
.ipynbFormat gespeichert. Wenn Ihr Notizbuch im Quellformat gespeichert wird, werden serverlose Metadaten möglicherweise nicht ordnungsgemäß erfasst, und einige Features funktionieren möglicherweise nicht wie erwartet. - Notebook-Tags werden nicht unterstützt. Verwenden Sie serverlose Budgetrichtlinien , um die serverlose Verwendung zu markieren.
Arbeitsbeschränkungen
- Aufgabenprotokolle werden nicht pro Aufgabenausführung isoliert. Protokolle enthalten die Ausgabe aus mehreren Aufgaben.
- Aufgabenbibliotheken werden für Notebookaufgaben nicht unterstützt. Verwenden Sie Notebook-spezifische Bibliotheken stattdessen. Siehe Notebook-bezogenen Python-Bibliotheken.
- Serverlose Aufträge verfügen standardmäßig über kein Abfrageausführungstimeout. Sie können ein Ausführungstimeout für Auftragsabfragen mithilfe der
spark.databricks.execution.timeoutEigenschaft festlegen. Weitere Informationen finden Sie unter Konfigurieren von Spark-Eigenschaften für serverlose Notizbücher und Aufträge.
Compute-spezifische Einschränkungen
Folgende Compute-spezifische Features werden nicht unterstützt:
- Compute-Richtlinien
- Compute-bezogene Initialisierungsskripts
- Berechnungsspezifische Bibliotheken, einschließlich benutzerdefinierter Datenquellen und Spark-Erweiterungen. Verwenden Sie stattdessen notebook-spezifische Bibliotheken.
- Instanzenpools
- Ereignisprotokolle berechnen
- Die meisten Apache Spark-Computekonfigurationen. Eine Liste der unterstützten Konfigurationen finden Sie unter Konfigurieren von Spark-Eigenschaften für serverlose Notizbücher und Aufträge.
- Umgebungsvariablen. Stattdessen empfiehlt Databricks die Verwendung von Widgets zum Erstellen von Auftrags- und Aufgabenparametern.
Einschränkungen bei der Zwischenspeicherung
- Metadaten werden in serverlosen Computesitzungen zwischengespeichert. Aus diesem Grund wird der Sitzungskontext beim Wechseln von Katalogen möglicherweise nicht vollständig zurückgesetzt. Um den Sitzungskontext zu löschen, setzen Sie die serverlose Computeressource zurück, oder starten Sie eine neue Sitzung.
- Dataframe- und SQL-Cache-APIs werden auf serverloser Berechnung nicht unterstützt. Die Verwendung dieser APIs oder SQL-Befehle führt zu einer Ausnahme.
Hive-Einschränkungen
Hive SerDe-Tabellen werden nicht unterstützt. Darüber hinaus wird der entsprechende LOAD DATA Befehl, der Daten in eine Hive SerDe-Tabelle lädt, nicht unterstützt. Die Verwendung des Befehls hat eine Ausnahme zur Folge.
Die Unterstützung von Datenquellen ist auf AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT und XML beschränkt.
Hive-Variablen (z. B.
${env:var},${configName},${system:var}undspark.sql.variable) oder Konfigurationsvariablenverweise mit der Syntax${var}werden nicht unterstützt. Die Verwendung von Hive-Variablen hat eine Ausnahme zur Folge.Verwenden Sie stattdessen DECLARE VARIABLE, SET VARIABLE und SQL-Sitzungsvariablenreferenzen sowie Parametermarker ('?', oder ':var'), um den Sitzungszustand zu deklarieren, zu ändern und zu referenzieren. Sie können die IDENTIFIER Klausel auch verwenden, um Objektnamen in vielen Fällen zu parametrisieren.
Unterstützte Datenquellen
Serverless Compute unterstützt die folgenden Datenquellen für DML-Vorgänge (Schreiben, Aktualisieren, Löschen):
CSVJSONAVRODELTAKAFKAPARQUETORCTEXTUNITY_CATALOGBINARYFILEXMLSIMPLESCANICEBERG
Serverless Compute unterstützt die folgenden Datenquellen für Lesevorgänge:
CSVJSONAVRODELTAKAFKAPARQUETORCTEXTUNITY_CATALOGBINARYFILEXMLSIMPLESCANICEBERGMYSQLPOSTGRESQLSQLSERVERREDSHIFTSNOWFLAKE-
SQLDW(Azure Synapse) DATABRICKSBIGQUERYORACLESALESFORCESALESFORCE_DATA_CLOUDTERADATAWORKDAY_RAASMONGODB