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.
Dieser Artikel enthält eine Übersicht über die Cloudspeicherverbindungen, die für die Arbeit mit Daten mithilfe des Unity-Katalogs erforderlich sind, sowie Informationen dazu, wie Unity Catalog den Zugriff auf Cloudspeicher und externe Clouddienste steuert.
Wie verwendet Unity-Katalog Cloudspeicher?
Databricks empfiehlt die Verwendung des Unity-Katalogs, um den Zugriff auf alle Daten zu verwalten, die Sie im Cloudobjektspeicher gespeichert haben. Unity Catalog bietet eine Reihe von Tools zum Konfigurieren sicherer Verbindungen mit dem Cloudobjektspeicher. Diese Verbindungen ermöglichen den Zugriff, um die folgenden Aktionen auszuführen:
- Erfassen von Rohdaten in einem Lakehouse
- Erstellen und lesen Sie verwaltete Tabellen und verwaltete Volumes von unstrukturierten Daten im durch den Unity Catalog verwalteten Cloudspeicher.
- Registrieren oder erstellen Sie externe Tabellen , die tabellarische Daten und externe Volumes enthalten, die unstrukturierte Daten im Cloudspeicher enthalten, der mit Ihrem Cloudanbieter verwaltet wird.
- Lesen und Schreiben unstrukturierter Daten ( Unity-Katalogvolumes).
Um spezifischer zu sein, verwendet Unity-Katalog Cloudspeicher auf zwei primäre Arten:
- Standardspeicherorte (oder "verwaltete") Speicherorte für verwaltete Tabellen und verwaltete Volumes (unstrukturierte, nicht tabellarische Daten), die Sie in Databricks erstellen. Diese verwalteten Speicherorte können auf Metastore-, Katalog- oder Schemaebene definiert werden. Sie erstellen verwaltete Speicherorte in Ihrem Cloudanbieter, deren Lebenszyklus wird jedoch vollständig vom Unity-Katalog verwaltet.
- Speicherorte, an denen externe Tabellen und Volumes gespeichert werden. Dies sind Tabellen und Volumes, deren Zugriff von Azure Databricks vom Unity-Katalog verwaltet wird, deren Datenlebenszyklus und Dateilayout jedoch mit Ihrem Cloudanbieter und anderen Datenplattformen verwaltet werden. Externe Tabellen werden in der Regel verwendet, um große Mengen an bereits vorhandenen Daten in Azure Databricks zu registrieren oder wenn Sie auch Schreibzugriff auf die Daten über Tools außerhalb von Azure Databricks benötigen.
Weitere Informationen zu verwalteten und externen Tabellen und Volumes finden Sie in Azure Databricks-Tabellen und was sind Unity Catalog-Volumes?.
Warnung
Gewähren Sie keine Nicht-Unity-Katalogidentitäten auf Speicherebene Zugriff auf verwaltete Tabellen oder Volumes des Unity-Katalogs. Dies gefährdet die Datensicherheit und Governance.
Wenn Benutzern, Dienstprinzipalen oder verwalteten Identitäten direkter Zugriff auf Azure Data Lake Storage-Container gewährt werden, die Daten enthalten, die von Unity Catalog geregelt sind, wird Unity-Katalog umgangen . Dadurch werden Daten für überberechtigungen, Exfiltration und nicht autorisierten Zugriff verfügbar gemacht, während die Überwachung erschwert und der Verwaltungsaufwand erhöht wird.
Der direkte Speicherzugriff wird für verwaltete Tabellen im Unity-Katalog nicht unterstützt.
Von Unity Catalog unterstützte Cloudspeicheroptionen
Unity Catalog unterstützt die folgenden Cloudspeicheroptionen für Azure Databricks.
| Cloudspeicheroption | BESCHREIBUNG |
|---|---|
| Azure Data Lake Storage-Container | Azure Data Lake Storage eignet sich für die meisten Azure Databricks-Anwendungsfälle. Siehe Erstellen einer Speicheranmeldeinformation zum Herstellen einer Verbindung mit Azure Data Lake Storage |
| AWS S3-Buckets | Azure Databricks bietet plattformübergreifenden, schreibgeschützten Zugriff auf S3-Buckets. Siehe Erstellen einer Speicheranmeldeinformation zum Herstellen einer Verbindung mit AWS S3 (schreibgeschützt) |
| Cloudflare R2 Buckets | Cloudflare R2 ist in erster Linie für Delta Sharing-Anwendungsfälle vorgesehen, in denen Sie Datenausgangsgebühren vermeiden möchten. Siehe Erstellen einer Speicheranmeldeinformation zum Herstellen einer Verbindung mit Cloudflare R2. |
| DBFS-Stamm | DBFS-Stamm ist ein veralteter Cloudspeicherort. Obwohl Databricks nicht empfiehlt, Daten im DBFS-Stammspeicher zu speichern, kann Ihr Arbeitsbereich dies aufgrund älterer Praktiken tun. Siehe Herstellen einer Verbindung mit einem externen DBFS-Stammspeicherort (Legacy). |
Wie steuert Unity-Katalog den Zugriff auf Cloudspeicher?
Um den Zugriff auf den zugrunde liegenden Cloudspeicher zu verwalten, der Tabellen und Volumes enthält, verwendet Unity Catalog ein sicherungsfähiges Objekt, das als externer Speicherort bezeichnet wird, der einen Pfad zu einem Cloudspeicherort und die anmeldeinformationen definiert, die für den Zugriff auf diesen Speicherort erforderlich sind. Diese Anmeldeinformationen werden wiederum in einem sicherungsfähigen Unity-Katalogobjekt definiert, das als Speicheranmeldeinformationen bezeichnet wird. Indem Sie den Zugriff auf sicherungsfähige externe Standorte im Unity-Katalog gewähren und widerrufen, steuern Sie den Zugriff auf die Daten am Cloudspeicherort. Indem Sie den Zugriff auf Speicheranmeldeinformationen im Unity-Katalog gewähren und widerrufen, steuern Sie die Möglichkeit, externe Speicherortobjekte zu erstellen.
Übersicht über Speicheranmeldeinformationen
Eine Speicheranmeldeinformation stellt einen Authentifizierungs- und Autorisierungsmechanismus für den Zugriff auf Daten dar, die auf Ihrem Cloudmandanten gespeichert sind. Beispielsweise wird eine Speicheranmeldeinformation einem Azure-Verwalteten Identitäts - oder Dienstprinzipal für Azure Data Lake Storage-Container oder mit einem R2-API-Token für Cloudflare R2-Buckets zugeordnet.
Berechtigungen, die im Unity-Katalog gewährt werden, steuern, welche Benutzer und Gruppen die Anmeldeinformationen verwenden können, um externe Speicherorte zu definieren. Berechtigungen zum Erstellen und Verwenden von Speicheranmeldeinformationen sollten nur Benutzern erteilt werden, die externe Standortobjekte erstellen müssen.
Übersicht über externe Standorte
Ein externer Speicherort kombiniert einen Cloudspeicherpfad mit einer Speicheranmeldeinformation , die den Zugriff auf den angegebenen Pfad autorisiert. Mehrere externe Speicherorte können dieselben Speicheranmeldeinformationen verwenden. Externe Speicherorte können in einer der unterstützten Cloudspeicheroptionen auf Speicherpfade verweisen.
Das folgende Diagramm zeigt, wie externe Speicherorte auf Speicheranmeldeinformationen und Cloudspeicherorte verweisen.
In diesem Diagramm:
- Jeder externe Standort bezieht sich auf Speicheranmeldedaten und einen Cloud-Speicherort.
- Mehrere externe Speicherorte können auf dieselben Speicheranmeldeinformationen verweisen.
Speicheranmeldeinformationen 1 gewähren Zugriff auf alles unter dem Pfad
bucket/tables/*, sodass sowohl der externe Speicherort A als auch der externe Speicherort B darauf verweisen.
Externe Speicherorte werden im Unity-Katalog sowohl für externe Datenressourcen wie externe Tabellen und externe Volumes als auch für verwaltete Datenressourcen wie verwaltete Tabellen und verwaltete Volumes verwendet. Weitere Informationen zum Unterschied zwischen externen und verwalteten Datenressourcen im Unity-Katalog finden Sie in Azure Databricks-Tabellen und was sind Unity Catalog-Volumes?.
Berechtigungen, die im Unity-Katalog gewährt werden, steuern, welche Benutzer und Gruppen auf den vom externen Speicherort definierten Cloudspeicherpfad zugreifen können. Die Berechtigung zum Erstellen und Verwenden externer Speicherorte sollte nur Benutzern gewährt werden, die externe Tabellen, externe Volumes oder verwaltete Speicherorte erstellen müssen.
Informationen zu bewährten Methoden für die Verwendung externer Speicherorte finden Sie unter "Externe Speicherorte".
Verwenden externer Speicherorte beim Erstellen externer Tabellen und Volumes
Externe Tabellen und externe Volumes, die im Unity-Katalog registriert sind, sind im Wesentlichen Zeiger auf Daten im Cloudspeicher, die Sie außerhalb von Azure Databricks verwalten. Wenn Sie eine externe Tabelle oder ein externes Volume im Unity-Katalog erstellen, müssen Sie auf einen Cloudspeicherpfad verweisen, der in einem externen Standortobjekt enthalten ist, für das Ihnen ausreichende Berechtigungen gewährt wurden. Weitere Informationen zum Unterschied zwischen externen und verwalteten Datenressourcen im Unity-Katalog finden Sie in Azure Databricks-Tabellen und was sind Unity Catalog-Volumes?. Berechtigungen finden Sie unter Erteilen von Berechtigungen an einem externen Speicherort.
Verwenden externer Speicherorte beim Erstellen von verwaltetem Speicher
Verwaltete Tabellen und verwaltete Volumes werden vollständig vom Unity-Katalog verwaltet. Sie werden standardmäßig an einem verwalteten Speicherort gespeichert, der auf Metastore-, Katalog- oder Schemaebene definiert werden kann. Wenn Sie einem Metastore, Katalog oder Schema einen verwalteten Speicherort zuweisen, müssen Sie auf ein externes Speicherortobjekt verweisen und über ausreichende Berechtigungen verfügen, um ihn zu verwenden. Weitere Informationen finden Sie unter Angeben eines verwalteten Speicherorts in Unity Catalog und Bewährte Methoden für Unity Catalog.
Pfadbasierter Zugriff auf Daten im Cloudspeicher
Obwohl Unity Catalog pfadbasierten Zugriff auf externe Tabellen und externe Volumes mithilfe von Cloudspeicher-URIs unterstützt, empfiehlt Databricks, dass Benutzer alle Unity-Katalogtabellen mithilfe von Tabellennamen lesen und schreiben und auf Daten in Volumes mithilfe von /Volumes Pfaden zugreifen.
Volumes sind das sicherungsfähige Objekt, das die meisten Azure Databricks-Benutzer verwenden sollten, um direkt mit nicht tabellarischen Daten im Cloudobjektspeicher zu interagieren. Weitere Informationen finden Sie unter Was sind Unity Catalog-Volumes?.
Warnung
Wenn Sie externe Tabellenmetadaten mit einem Nicht-Databricks-Client aktualisieren oder pfadbasierten Zugriff aus Databricks verwenden, werden diese Metadaten nicht automatisch mit Unity-Katalog synchronisiert. Databricks empfiehlt solche Metadatenaktualisierungen nicht, aber wenn Sie dennoch eine durchführen, müssen Sie MSCK REPAIR TABLE <table-name> SYNC METADATA ausführen, um das Schema im Unity-Katalog zu aktualisieren. Siehe REPAIR TABLE.
Workflow zum Verwalten des Zugriffs auf Cloudspeicher im Unity-Katalog
Um den Zugriff auf Cloudspeicher mithilfe des Unity-Katalogs zu verwalten, gehen Sie wie folgt vor:
- Erstellen Sie ein Speicheranmeldeinformationsobjekt, das eine langfristige Cloud-Anmeldeinformation enthält, z. B. eine von Azure verwaltete Identität oder einen Dienstprinzipal, der Zugriff auf den Cloudspeicherpfad hat.
- Erstellen Sie ein externes Speicherortobjekt, das auf den Speicherpfad und das Speicheranmeldeinformationsobjekt verweist.
- Verweisen Sie auf einen Pfad, der am externen Speicherort enthalten ist, wenn Sie externe Tabellen, externe Volumes oder standardverwaltete Speicherorte erstellen. Dies kann der genaue Pfad sein, der an der externen Position oder einem Unterpfad definiert ist.
Bewährte Methoden für Azure Cloud Storage mit Unity-Katalog
Azure Databricks erfordert die Verwendung von Azure Data Lake Storage als Azure-Speicherdienst für Daten, die in Azure Databricks mithilfe der Unity Catalog-Governance verarbeitet werden. Azure Data Lake Storage ermöglicht es Ihnen, Speicher- und Berechnungskosten zu trennen und die feinkörnige Zugriffssteuerung zu nutzen, die von Unity Catalog bereitgestellt wird. Wenn Daten in OneLake (dem Microsoft Fabric-Datensee) gespeichert und von Databricks verarbeitet werden (Umgehung des Unity-Katalogs), können gebündelte Speicher- und Berechnungskosten anfallen. Wenn gebündelt, kann dies zu Kosten führen, die etwa 2x höher für Lesevorgänge und 2,6x höher für Schreibvorgänge im Vergleich zu Azure Data Lake Storage Premium Tier zum Speichern, Lesen und Schreiben von Daten sind. Azure Blob Storage ist auch nicht mit Unity Catalog kompatibel. Databricks empfiehlt die Verwendung des pay-as-you-go-Preismodells für Fabric, was Ihnen mehr Flexibilität mit Speicher- und Berechnungsoptionen bietet.
| Merkmal | Azure Blob Storage (Speicherdienst von Azure für unstrukturierte Daten) | Azure Data Lake Storage | OneLake |
|---|---|---|---|
| Von Unity Catalog unterstützt | X | ✓ | X |
| Erfordert zusätzlichen Fabric-Kapazitätskauf | X | X | ✓ |
| Unterstützte Vorgänge von externen Engines |
|
|
Bei Verwendung eines gebündelten Compute-/Storage-Preismodells entstehen beim Lesen bis zu 2-fache Kosten im Vergleich zum Lesen von Daten aus Azure Data Lake Storage, und beim Schreiben entstehen bis zu 2,6-fache Kosten im Vergleich zum Schreiben von Daten in Azure Data Lake Storage Premium Tier. Weitere Informationen finden Sie in der OneLake-Dokumentation. |
| Einsatz | Länderspezifisch | Länderspezifisch | Weltweit |
| Authentifizierung | Entra-ID Shared Access Signature | Entra-ID Shared Access Signature | Entra-ID |
| Speicherereignisse | ✓ | ✓ | X |
| Vorläufiges Löschen | ✓ | ✓ | ✓ |
| Zugriffskontrolle | RBAC | RBAC, ABAC, ACL | RBAC (nur Tabelle/Ordner, Verknüpfungs-ACLs werden nicht unterstützt) |
| Verschlüsselungsschlüssel | ✓ | ✓ | X |
| Zugriffsebenen | Onlinearchiv | Heiße Ebene, kalte Ebene, Cold, Archiv | Nurheiße Ebene |
Nächste Schritte
- Erstellen Sie eine Speicheranmeldeinformation, um eine Verbindung mit Azure Data Lake Storage herzustellen
- Erstellen einer Speicheranmeldeinformation zum Herstellen einer Verbindung mit Cloudflare R2
- Erstellen Sie eine Speicheranmeldeinformation für die Verbindung mit AWS S3 (schreibgeschützt)
- Erstellen eines externen Speicherorts zum Verbinden des Cloudspeichers mit Azure Databricks
- Angeben eines verwalteten Speicherorts im Unity-Katalog
- Verwalten von Speicheranmeldeinformationen
- Verwalten externer Speicherorte