Teilen über


Beschränkungen des serverlosen Computing

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.enabled auf false setzen.
  • 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, und mapPartitions, 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

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 .ipynb Format 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.timeout Eigenschaft 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:

Einschränkungen bei der Zwischenspeicherung

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} und spark.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):

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

Serverless Compute unterstützt die folgenden Datenquellen für Lesevorgänge:

  • 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