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.
Von Bedeutung
Sowohl DBFS-Root als auch DBFS-Einhängepunkte sind veraltet und werden von Databricks nicht empfohlen. Neue Konten werden ohne Zugriff auf diese Features bereitgestellt. Databricks empfiehlt stattdessen die Verwendung von Unity-Katalogvolumes, externen Speicherorten oder Arbeitsbereichsdateien .
Unity Catalog führt eine Reihe neuer Konfigurationen und Konzepte ein, die datengovernance völlig anders als DBFS angehen. In diesem Artikel werden mehrere bewährte Methoden für die Arbeit mit externen Speicherorten des Unity-Katalogs und DBFS beschrieben.
Databricks rät von der Verwendung von DBFS und montiertem Cloud-Objektspeicher für die meisten Anwendungsfälle in Unity-Katalog-aktivierten Azure Databricks-Arbeitsbereichen ab. In diesem Artikel werden einige Szenarien beschrieben, in denen Sie den bereitgestellten Cloudobjektspeicher verwenden sollten. Beachten Sie, dass Databricks nicht die Verwendung des DBFS-Stamms in Verbindung mit Dem Unity-Katalog empfiehlt, es sei denn, Sie müssen Dateien oder Daten migrieren, die dort im Unity-Katalog gespeichert sind.
Wie werden DBFS in Unity Catalog-fähigen Arbeitsbereichen verwendet?
Aktionen, die gegen Tabellen in der hive_metastore durchgeführt werden, verwenden ältere Datenzugriffsmuster, die möglicherweise Daten und Speicheranmeldeinformationen einschließen, die von DBFS verwaltet werden. Verwaltete Tabellen im für den Arbeitsbereich geltenden hive_metastore werden im DBFS-Stamm gespeichert.
Wie funktioniert DBFS im dedizierten Zugriffsmodus (ehemals Einzelbenutzerzugriffsmodus)?
Computeressourcen, die mit dem dedizierten Zugriffsmodus konfiguriert sind, haben vollzugriff auf DBFS, einschließlich aller Dateien im DBFS-Stamm und bereitgestellten Daten.
Wie funktioniert DBFS im Standardzugriffsmodus (früher freigegebener Zugriffsmodus)?
Der Standardzugriffsmodus kombiniert Unity-Katalogdatengovernance mit älteren Azure Databricks-Tabellen-ACLs. Der Zugriff auf Daten in der hive_metastore ist nur für Benutzer verfügbar, die explizit Berechtigungen erteilt haben.
Um mit Dateien direkt mit DBFS zu interagieren, müssen Sie über ANY FILE Berechtigungen verfügen. Da ANY FILE Es Benutzern ermöglicht, acLs aus älteren Tabellen im hive_metastore zu umgehen und auf alle von DBFS verwalteten Daten zuzugreifen, empfiehlt Databricks beim Erteilen dieser Berechtigung Vorsicht.
DBFS nicht mit externen Unity Catalog-Speicherorten verwenden
Unity Catalog sichert den Zugriff auf Daten an externen Speicherorten, indem vollständige Cloud-URI-Pfade verwendet werden, um Berechtigungen für verwaltete Objektspeicherverzeichnisse zu identifizieren. DBFS-Bereitstellungen verwenden ein völlig anderes Datenzugriffsmodell, das Unity Catalog vollständig umgeht. Databricks empfiehlt, Cloudobjektspeichervolumes zwischen DBFS-Bereitstellungen und UC-externen Volumes nicht wiederzuverwenden, auch nicht bei der arbeitsbereichs- oder kontenübergreifenden Freigabe von Daten.
Sichern des vom Unity-Katalog verwalteten Speichers
Unity-Katalog mit verwalteten Speicherorten zum Speichern von Datendateien für verwaltete Tabellen und Volumes.
Databricks empfiehlt Folgendes für verwaltete Speicherorte:
- Verwenden Sie neue Speicherkonten oder Buckets.
- Definieren Sie eine benutzerdefinierte Identitätsrichtlinie für den Unity-Katalog.
- Beschränken Sie den gesamten Zugriff auf Azure Databricks, die vom Unity-Katalog verwaltet werden.
- Beschränken Sie den gesamten Zugriff auf Identitätszugriffsrichtlinien, die für den Unity-Katalog erstellt wurden.
Hinzufügen vorhandener Daten zu externen Speicherorten
Es ist möglich, vorhandene Speicherkonten mithilfe externer Speicherorte in den Unity-Katalog zu laden. Für größtmögliche Sicherheit empfiehlt Databricks, Speicherkonten nur an externe Speicherorte zu laden, nachdem alle anderen Speicheranmeldeinformationen und Zugriffsmuster widerrufen wurden.
Sie sollten niemals ein Speicherkonto laden, das als DBFS-Stamm als externer Speicherort im Unity-Katalog verwendet wird.
Clusterkonfigurationen werden von Unity Catalog-Dateisystemzugriff ignoriert.
Der Unity-Katalog berücksichtigt keine Clusterkonfigurationen für Dateisystemeinstellungen. Dies bedeutet, dass Hadoop-Dateisystemeinstellungen zum Konfigurieren des benutzerdefinierten Verhaltens mit Cloudobjektspeicher nicht funktionieren, wenn sie mithilfe des Unity-Katalogs auf Daten zugreifen.
Einschränkung für den Zugriff auf mehrere Pfade
Generell können Sie Unity Catalog und DBFS zusammen verwenden, jedoch dürfen Pfade, die gleich sind oder eine übergeordnete/untergeordnete Beziehung haben, nicht in derselben Befehls- oder Notebookzelle mit unterschiedlichen Zugriffsmethoden verwendet werden.
Wenn beispielsweise eine externe Tabelle foo in der hive_metastore an Position a/b/c definiert ist und ein externer Speicherort im Unity-Katalog auf a/b/definiert ist, würde der folgende Code einen Fehler auslösen:
spark.read.table("foo").filter("id IS NOT NULL").write.mode("overwrite").save("a/b/c")
Dieser Fehler tritt nicht auf, wenn diese Logik in zwei Zellen unterteilt ist:
df = spark.read.table("foo").filter("id IS NOT NULL")
df.write.mode("overwrite").save("a/b/c")