Einschränkungen des Computezugriffsmodus für Unity Catalog

Databricks empfiehlt die Verwendung von Unity Catalog und des Zugriffsmodus „Freigegeben“ für die meisten Workloads. In diesem Artikel werden Einschränkungen und Anforderungen für jeden Zugriffsmodus mit Unity Catalog beschrieben. Ausführliche Informationen zu Zugriffsmodi finden Sie unter Zugriffsmodi.

Databricks empfiehlt die Verwendung von Computerichtlinien, um Konfigurationsoptionen für die meisten Benutzer zu vereinfachen. Siehe Erstellen und Verwalten von Computerichtlinien.

Hinweis

„Keine Isolation freigegeben“ ist ein Legacyzugriffsmodus, der Unity Catalog nicht unterstützt.

Wichtig

Init-Skripts und -Bibliotheken haben unterschiedliche Unterstützung für Zugriffsmodi und Databricks Runtime-Versionen. Siehe Wo können Initialisierungsskripts installiert? und Bibliotheken im Clusterumfang.

Einschränkungen beim Einzelbenutzerzugriffsmodus im Unity Catalog

Der Einzelbenutzerzugriffsmodus in Unity Catalog weist die folgenden Einschränkungen auf. Diese Einschränkungen gelten zusätzlich zu den allgemeinen Beschränkungen für alle Unity Catalog-Zugriffsmodi. Weitere Informationen finden Sie unter Allgemeine Einschränkungen für Unity Catalog.

Differenzierte Zugriffssteuerungseinschränkungen für den Einzelbenutzerzugriffsmodus von Unity Catalog

Auf Databricks Runtime 15.3 und darunter wird eine differenzierte Zugriffssteuerung für die Berechnung einzelner Benutzer nicht unterstützt. Speziell:

  • Sie haben keinen Zugriff auf eine Tabelle mit Zeilenfilter oder Spaltenmaske.
  • Sie können nicht auf dynamische Ansichten zugreifen.
  • Um aus einer beliebigen Ansicht zu lesen, benötigen Sie SELECT für alle Tabellen und Ansichten, auf die von der Ansicht verwiesen wird.

Verwenden Sie eine der folgenden Optionen, um dynamische Ansichten, Sichten, bei denen Sie nicht über die SELECT-Berechtigung für die zugrunde liegenden Tabellen und Sichten verfügen, sowie Tabellen mit Zeilenfiltern oder Spaltenmasken abzufragen:

  • Ein SQL-Warehouse

  • Compute mit gemeinsamem Zugriffsmodus.

  • Compute with single user access mode on Databricks Runtime 15.4 LTS or above.

    Databricks Runtime 15.4 LTS und höher unterstützen eine differenzierte Zugriffssteuerung bei der Berechnung einzelner Benutzer. Um die in Databricks Runtime 15.4 LTS und höher bereitgestellten Datenfilter nutzen zu können, stellen Sie sicher, dass Ihr Arbeitsbereich für die serverlose Berechnung aktiviert ist.

    Serverless compute handles data filtering, which allows access to a view without requiring permissions on its underlying tables and views. Da serverlose Compute die Datenfilterung verarbeitet, entstehen möglicherweise serverlose Berechnungsgebühren, wenn Sie einzelbenutzerberechnungen für Abfrageansichten verwenden. Weitere Informationen finden Sie unter Feinkornierte Zugriffssteuerung für die Berechnung einzelner Benutzer.

Einschränkungen für Streamingtabellen und materialisierte Sichten für den Einzelbenutzerzugriffsmodus von Unity Catalog

Unter Databricks Runtime 15.3 und unten können Sie keine einzelnen Benutzerberechnungen verwenden, um Tabellen abzufragen, die mit einer Delta Live Tables-Pipeline erstellt wurden, einschließlich Streamingtabellen und materialisierten Ansichten, wenn diese Tabellen anderen Benutzern gehören. Der Benutzer, der eine Tabelle erstellt, ist der Besitzer.

Wenn Sie Streamingtabellen und materialisierte Ansichten abfragen möchten, die von Delta Live Tables erstellt und im Besitz anderer Benutzer sind, verwenden Sie eine der folgenden Optionen:

  • Ein SQL-Warehouse

  • Compute im Modus für gemeinsamen Zugriff in Databricks Runtime 13.3 LTS oder höher.

  • Compute with single user access mode on Databricks Runtime 15.4 LTS or above.

    Ihr Arbeitsbereich muss auch für die serverlose Berechnung aktiviert sein. Weitere Informationen finden Sie unter Feinkornierte Zugriffssteuerung für die Berechnung einzelner Benutzer.

Streamingeinschränkungen für den Einzelbenutzerzugriffsmodus von Unity Catalog

  • In Databricks Runtime 11.3 und darunter wird die asynchrone Prüfpunktausführung nicht unterstützt.
  • StreamingQueryListener erfordert Databricks Runtime 15.1 oder höher, um Anmeldeinformationen zu verwenden oder mit Objekten zu interagieren, die vom Unity-Katalog auf Einzelbenutzercompute verwaltet werden.

Einschränkungen im Modus für den gemeinsamen Zugriff im Unity Catalog

Der Modus für den gemeinsamen Zugriff von Unity Catalog weist die folgenden Einschränkungen auf. Diese Einschränkungen gelten zusätzlich zu den allgemeinen Beschränkungen für alle Unity Catalog-Zugriffsmodi. Weitere Informationen finden Sie unter Allgemeine Einschränkungen für Unity Catalog.

  • Databricks Runtime ML und Spark Machine Learning Library (MLlib) werden nicht unterstützt.

  • Spark-Submit-Aufträge werden nicht unterstützt.

  • Auf Databricks Runtime 13.3 und höher dürfen einzelne Zeilen 128 MB nicht überschreiten.

  • PySpark UDFs können nicht auf Git-Ordner, Arbeitsbereichsdateien oder Volumes zugreifen, um Module auf Databricks Runtime 14.2 und darunter zu importieren.

  • DBFS-Stamm und -Einbindungen unterstützen FUSE nicht.

  • Bei Verwendung des gemeinsamen Zugriffsmodus mit Passthrough für Anmeldeinformationen sind die Unity Catalog-Features deaktiviert.

  • Benutzerdefinierte Container werden nicht unterstützt.

Sprachunterstützung für den gemeinsamen Zugriffsmodus von Unity Catalog

  • R wird nicht unterstützt.
  • Scala wird in Databricks Runtime 13.3 und höher unterstützt.
    • In Databricks Runtime 15.4 LTS und darüber sind alle Java- oder Scala-Bibliotheken (JAR-Dateien), die mit Databricks Runtime gebündelt sind, auf Computezugriffsmodi in Unity Catalog verfügbar.
    • Legen Sie für Databricks Runtime 15.3 oder darunter auf Compute, das den gemeinsamen Zugriffsmodus verwendet, die Spark-Konfiguration spark.databricks.scala.kernel.fullClasspath.enabled auf true fest.

Spark-API-Einschränkungen und Anforderungen für den gemeinsamen Zugriffsmodus von Unity Catalog

  • RDD-APIs werden nicht unterstützt.
  • DBUtils und andere Clients, die die Daten direkt aus dem Cloudspeicher lesen, werden nur unterstützt, wenn Sie einen externen Speicherort für den Zugriff auf den Speicherort verwenden. Weitere Informationen finden Sie unter Erstellen eines externen Speicherorts zum Verbinden des Cloudspeichers mit Azure Databricks.
  • Spark Context (sc), spark.sparkContext und sqlContext werden für Scala in keiner Version von Databricks Runtime unterstützt und werden in Python in Databricks Runtime 14.0 und höher nicht unterstützt.
    • Databricks empfiehlt die Verwendung der spark-Variable 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 folgenden Scala-Dataset-API-Vorgänge erfordern Databricks Runtime 15.4 LTS oder höher: map, mapPartitions, foreachPartition, flatMap, reduce und filter.

UDF-Einschränkungen und Anforderungen für den gemeinsamen Zugriffsmodus von Unity Catalog

Benutzerdefinierte Funktionen (User Defined Functions, UDFs) haben die folgenden Einschränkungen im gemeinsamen Zugriffsmodus:

  • Struktur-UDFs werden nicht unterstützt.

  • applyInPandas und mapInPandas erfordern Databricks Runtime 14.3 oder höher.

  • Skalare Scala UDFs erfordern Databricks Runtime 14.2 oder höher. Andere Scala-UDFs und UDAFs werden nicht unterstützt.

  • In Databricks Runtime 14.2 und früher wird die Verwendung einer benutzerdefinierten Version von grpc, pyarrow oder protobuf in einer PySpark-UDF über Bibliotheken im Notebook- oder Clusterbereich nicht unterstützt, da immer die installierte Version Priorität hat. Weitere Informationen zur Version der installierten Bibliotheken finden Sie im Abschnitt Systemumgebung der jeweiligen Versionshinweise zur Databricks-Runtime.

  • Skalare Python UDFs und Pandas UDFs erfordern Databricks Runtime 13.3 LTS oder höher.

  • Nicht skalare Python- und Pandas-UDFs, einschließlich UDAFs, UDTFs und Pandas auf Spark, erfordern Databricks Runtime 14.3 LTS oder höher.

Weitere Informationen finden Sie unter User-defined functions (UDFs) in Unity Catalog (Benutzerdefinierte Funktionen (UDFs) in Unity Catalog).

Streamingeinschränkungen und -anforderungen für den gemeinsamen Zugriff im Unity-Katalog.

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.

  • Für Scala werden foreach, foreachBatch, StreamingListeners und FlatMapGroupWithState nicht unterstützt.
  • Für Python hat foreachBatch die folgenden Verhaltensänderungen in Databricks Runtime 14.0 und höher.
    • print()-Befehle schreiben ihre Ausgabe in die Treiberprotokolle.
    • Sie können nicht auf das dbutils.widgets Untermodul 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.
  • Für Scala erfordert from_avro Databricks Runtime 14.2 oder höher.
  • applyInPandasWithState erfordert Databricks Runtime 14.3 LTS oder höher.
  • 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
  • Die folgenden Kafka-Optionen werden in Databricks Runtime 13.3 LTS und höher nicht unterstützt, nicht jedoch in Databricks Runtime 12.2 LTS. Sie können nur externe Speicherorte angeben, die von Unity Catalog für diese Optionen verwaltet werden:
    • kafka.ssl.truststore.location
    • kafka.ssl.keystore.location
  • StreamingQueryListener erfordert Databricks Runtime 14.3 LTS oder höher, um Anmeldeinformationen zu verwenden oder mit Objekten zu interagieren, die vom Unity-Katalog auf einer freigegebenen Compute-Instanz verwaltet werden.

Einschränkungen und Anforderungen des Netzwerk- und Dateisystemzugriffs für den gemeinsamen Zugriffsmodus von Unity Catalog

  • Sie müssen Befehle auf Compute-Knoten als Benutzer mit geringen Rechten ausführen, der nicht auf vertrauliche Teile des Dateisystems zugreifen darf.

  • In Databricks Runtime 11.3 LTS und niedriger können Sie nur Netzwerkverbindungen mit den Ports 80 und 443 erstellen.

  • Sie können keine Verbindung mit dem Instanz-Metadatendienst oder Azure WireServer herstellen.

Allgemeine Einschränkungen für Unity Catalog

Die folgenden Einschränkungen gelten für alle im Unity Catalog aktivierten Zugriffsmodi.

Streamingeinschränkungen für Unity Catalog

  • Der fortlaufende Verarbeitungsmodus von Apache Spark wird nicht unterstützt. Weitere Informationen finden Sie unter Kontinuierliche Verarbeitung im Programmierhandbuch für Spark Structured Streaming.

Weitere Informationen finden Sie unter Streamingeinschränkungen für den Einzelbenutzerzugriffsmodus von Unity Catalog und Streamingeinschränkungen und -anforderungen für den gemeinsamen Zugriffsmodus von Unity Catalog.

Informationen zum Streaming mit Unity Catalog finden Sie unter Verwenden von Unity Catalog mit strukturiertem Streaming.