Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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.
Allgemeine Einschränkungen
Bevor Sie neue Workloads erstellen oder Workloads auf serverloses Computing migrieren, sollten Sie zunächst die folgenden Einschränkungen berücksichtigen:
- 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. - Databricks-Containerdienste werden nicht unterstützt.
- Sie müssen Unity Catalog verwenden, um eine Verbindung mit externen Datenquellen herzustellen. Verwenden Sie externe Speicherorte, um auf Cloudspeicher zuzugreifen.
- 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 CREATE FUNCTION (SQL und Python) zum Erstellen von UDFs.
- Benutzerdefinierter Code, z. B. UDFs,
map, undmapPartitions, darf 1 GB Speichernutzung nicht überschreiten. - Beim Erstellen eines DataFrame aus lokalen Daten mithilfe
spark.createDataFramevon Zeilengrößen darf 128 MB nicht überschritten werden. - 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.
- 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.
- Globale temporäre Ansichten werden nicht unterstützt. Databricks empfiehlt die Verwendung temporärer Sitzungsansichten oder das Erstellen von Tabellen, bei denen sitzungsübergreifendes Übergeben von Daten erforderlich ist.
- Maven-Koordinaten werden nicht unterstützt.
- Der Zugriff auf DBFS ist eingeschränkt. Verwenden Sie stattdessen Unity-Katalog-Volumes oder Arbeitsbereichsdateien.
Streamingbeschränkungen
- Es gibt keine Unterstützung für Standard- oder zeitbasierte Triggerintervalle. Nur
Trigger.AvailableNowwird unterstützt. Weitere Informationen finden Sie unter Konfigurieren von Triggerintervallen für strukturiertes Streaming. - 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.
- Notebook-bezogene Bibliotheken werden nicht über Entwicklungssitzungen hinweg zwischengespeichert.
- Das Freigeben von TEMP-Tabellen und -Sichten beim Freigeben eines Notebooks unter Benutzern wird nicht unterstützt.
- AutoVervollständigen und Variablen-Explorer für Dataframes 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.
Auftragsbeschrä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 stattdessen Notebook-bezogene Bibliotheken. Informationen finden Sie unter Python-Bibliotheken im Notebook-Bereich.
- 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
- Compute-bezogene Bibliotheken (einschließlich benutzerdefinierter Datenquellen und Spark-Erweiterungen). Verwenden Sie stattdessen Notebook-bezogene Bibliotheken.
- Instanzenpools
- Compute von Ereignisprotokollen
- 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