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
auftrue
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
undsqlContext
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 derSparkSession
-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
.
- Databricks empfiehlt die Verwendung der
- Die folgenden Scala-Dataset-API-Vorgänge erfordern Databricks Runtime 15.4 LTS oder höher:
map
,mapPartitions
,foreachPartition
,flatMap
,reduce
undfilter
.
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
undmapInPandas
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
oderprotobuf
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
undFlatMapGroupWithState
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 Sieoption("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.