Angeben eines verwalteten Speicherorts in Unity Catalog
Ein verwalteter Speicherort gibt einen Speicherort im Cloudobjektspeicher zum Speichern von Daten für verwaltete Tabellen und verwaltete Volumes an.
Sie können einen verwalteten Speicherort einem Metastore, einem Katalog oder einem Schema zuordnen. Verwaltete Speicherorte auf niedrigeren Ebenen in der Hierarchie überschreiben Speicherorte, die auf höheren Ebenen definiert sind, wenn verwaltete Tabellen oder verwaltete Volumes erstellt werden.
Databricks empfiehlt, verwalteten Speicher auf Katalogebene für die logische Datenisolation mit Metastore-Ebene und Schemaebene als Optionen zuzuweisen.
Neue Arbeitsbereiche, die für den Unity-Katalog aktiviert sind, werden automatisch ohne verwalteten Speicherort auf Metastoreebene erstellt. Der Speicher auf Metastoreebene ist jedoch für einige Funktionen erforderlich, z. B. das Freigeben von Notizbüchern mithilfe der Delta-Freigabe oder die Verwendung von persönlichen Stagingspeicherorten als Databricks-Partner. Weitere Informationen finden Sie unter Automatische Aktivierung von Unity Catalog, Bausteine für Datengovernance und Datenisolation und Erstellen eines Unity Catalog-Metastores.
Was ist ein verwalteter Speicherort?
Verwaltete Speicherorte weisen die folgenden Eigenschaften auf:
- Verwaltete Tabellen und verwaltete Volumes speichern Daten und Metadatendateien im verwalteten Speicherort.
- Verwaltete Speicherorte können nicht mit externen Tabellen oder externen Volumes überlappen.
In der folgenden Tabelle wird beschrieben, wie ein verwalteter Speicherort deklariert und Unity Catalog-Objekten zugeordnet wird:
Zugeordnetes Unity Catalog-Objekt | Festlegung | Beziehung zu externen Speicherorten |
---|---|---|
Metastore | Wird vom Kontoadministrator während der Erstellung des Metastores konfiguriert. | Kann externe Speicherorte nicht überlappen. |
Katalog | Wird während der Katalogerstellung mithilfe des Schlüsselworts MANAGED LOCATION angegeben. |
Muss sich an einem externen Speicherort befinden. |
Schema | Wird während der Schemaerstellung mithilfe des Schlüsselworts MANAGED LOCATION angegeben. |
Muss sich an einem externen Speicherort befinden. |
Der verwaltete Speicherort, der Daten und Metadaten für verwaltete Tabellen und verwaltete Volumes speichert, verwendet die folgenden Regeln:
- Wenn das umfassende Schema über einen verwalteten Speicherort verfügt, werden die Daten am verwalteten Speicherort des Schemas gespeichert.
- Wenn das umfassende Schema keinen verwalteten Speicherort hat, aber der Katalog über einen verwalteten Speicherort verfügt, werden die Daten im verwalteten Speicherort des Katalogs gespeichert.
- Verfügen weder das umfassende Schema noch der enthaltende Katalog über einen verwalteten Speicherort, dann werden die Daten im verwalteten Speicherort des Metastore gespeichert.
Unity-Katalog verhindert überlappende Standortgovernance. Siehe Wie funktionieren Pfade für Daten, die vom Unity Catalog verwaltet werden?.
Verwalteter Speicherort, Speicherstamm und Speicherort
Wenn Sie MANAGED LOCATION
für einen Katalog oder ein Schema angeben, wird der angegebene Speicherort als Speicherstamm im Unity Catalog nachverfolgt. Um sicherzustellen, dass alle verwalteten Entitäten über einen eindeutigen Speicherort verfügen, fügt Unity Catalog dem angegebenen Speicherort Hash-Unterverzeichnisse hinzu, wobei das folgende Format verwendet wird:
Object | Pfad |
---|---|
Schema | <storage-root>/__unitystorage/schemas/00000000-0000-0000-0000-000000000000 |
Katalog | <storage-root>/__unitystorage/catalogs/00000000-0000-0000-0000-000000000000 |
Der vollqualifizierte Pfad für den verwalteten Speicherort wird als Speicherort im Unity Catalog nachverfolgt.
Sie können denselben verwalteten Speicherort für mehrere Schemas und Kataloge angeben.
Erforderliche Rechte
Benutzer, die über die CREATE MANAGED STORAGE
-Berechtigung für einen externen Speicherort verfügen, können verwaltete Speicherorte während der Katalog- oder Schemaerstellung konfigurieren.
Kontoadministratoren können auf Metastore-Ebene einen optionalen verwalteten Speicherort hinzufügen.
Festlegen eines verwalteten Speicherorts für einen Metastore
Informationen zum Festlegen eines verwalteten Speicherorts für einen Metastore finden Sie unter Hinzufügen von verwaltetem Speicher zu einem vorhandenen Metastore.
Festlegen eines verwalteten Speicherorts für einen Katalog
Legen Sie einen verwalteten Speicherort für einen Katalog mithilfe des Schlüsselworts MANAGED LOCATION
während der Katalogerstellung fest, wie im folgenden Beispiel gezeigt:
CREATE CATALOG <catalog-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';
Sie können auch den Catalog-Explorer verwenden, um den verwalteten Speicherort für einen Katalog festzulegen. Weitere Informationen finden Sie unter Erstellen von Katalogen.
Festlegen eines verwalteten Speicherorts für ein Schema
Legen Sie einen verwalteten Speicherort für ein Schema mithilfe des Schlüsselworts MANAGED LOCATION
während der Schemaerstellung fest, wie im folgenden Beispiel gezeigt:
CREATE SCHEMA <catalog>.<schema-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';
Sie können auch den Catalog-Explorer verwenden, um den verwalteten Speicherort für ein Schema festzulegen. Weitere Informationen finden Sie unter Erstellen von Schemas.
Nächste Schritte
Unity Catalog verwendet verwaltete Speicherorte automatisch, wenn Sie verwaltete Tabellen und verwaltete Volumes erstellen. Weitere Informationen finden Sie unter Arbeiten mit verwalteten Tabellen und Was sind Unity-Katalogvolumes?.