Erstellen eines Unity Catalog-Metastores
In diesem Artikel erfahren Sie, wie Sie einen Unity Catalog Metastore erstellen und mit Arbeitsbereichen verknüpfen.
Wichtig
Für Arbeitsbereiche, die automatisch für Unity-Katalog aktiviert wurden, sind die Anweisungen in diesem Artikel nicht erforderlich. Databricks begann am 9. November 2023, automatisch neue Arbeitsbereiche für Unity Catalog zu aktivieren, wobei ein Rollout schrittweise über Konten hinweg fortgesetzt wird. Sie müssen die Anweisungen in diesem Artikel nur befolgen, wenn Sie über einen Arbeitsbereich verfügen und noch keinen Metastore in Ihrer Arbeitsbereichsregion haben. Informationen dazu, ob in Ihrer Region bereits ein Metastore vorhanden ist, finden Sie unter Automatische Aktivierung des Unity-Katalogs.
Ein Metastore ist der oberste Datencontainer in Unity Catalog. In den Metastore-Registern von Unity Catalog werden Metadaten über sicherheitsrelevante Objekte (z.B. Tabellen, Datenträger, externe Speicherorte und Freigaben) und die Berechtigungen für den Zugriff auf diese Objekte gespeichert. Jeder Metastore stellt einen 3-Level-Namespace (catalog
.schema
table
) zur Verfügung, durch den Daten organisiert werden können. Sie müssen einen Metastore für jede Region erstellen, in der Ihre Organisation tätig ist. Um mit Unity Catalog zu arbeiten, müssen sich die Benutzer in einem Arbeitsbereich befinden, der einem Metastore in ihrer Region zugeordnet ist.
Gehen Sie wie folgt vor, um einen Metastore zu erstellen:
Erstellen Sie in Ihrem Azure-Konto optional einen Speicherort auf Metastore-Ebene für verwaltete Tabellen und Datenträger.
Weitere Informationen zur Unterstützung bei der Entscheidung, ob Sie Speicher auf Metastore-Ebene benötigen, finden Sie unter (Optional) Erstellen von Speicher auf Metastore-Ebene und Daten werden physisch im Speicher getrennt.
Erstellen Sie in Ihrem Azure-Konto eine von Azure verwaltete Identität oder einen Dienstprinzipal mit Zugriff auf diesen Speicherort.
Erstellen Sie in Azure Databricks den Metastore, fügen Sie den Speicherort an und weisen Sie dem Metastore Arbeitsbereiche zu.
Hinweis
Zusätzlich zu den Ansätzen in diesem Artikel können Sie auch einen Metastore erstellen, indem Sie den Databricks Terraform-Anbieter und databricks_metastore verwenden. Verwenden Sie databricks_metastore_data_access, um den Zugriff auf den Metastore durch Unity Catalog zu ermöglichen. Verwenden Sie databricks_metastore_assignment, um Arbeitsbereiche mit einem Metastore zu verknüpfen.
Voraussetzungen
Bevor Sie beginnen, sollten Sie sich mit den grundlegenden Unity-Catalog-Konzepten, einschließlich Metastores und verwaltetem Speicher, vertraut machen. Siehe Was ist Unity Catalog?.
Sie sollten sich auch vergewissern, dass Sie die folgenden Voraussetzungen für alle Einrichtungsschritte erfüllen:
Sie müssen ein Azure Databricks-Kontoadministrator sein.
Der erste Azure Databricks-Kontoadministrator muss ein globaler Microsoft Entra ID-Administrator sein, wenn er sich zum ersten Mal bei der Azure Databricks-Kontokonsole anmeldet. Bei der ersten Anmeldung wird dieser Benutzer zu einem Azure Databricks-Kontoadministrator und benötigt nicht mehr die Rolle „Globaler Microsoft Entra ID-Administrator“, um auf das Azure Databricks-Konto zuzugreifen. Der erste Kontoadministrator kann Benutzer im Azure Active Directory-Mandanten als zusätzliche Kontoadministratoren zuweisen (die ihrerseits weitere Kontoadministratoren zuweisen können). Für zusätzliche Kontoadministratoren sind keine speziellen Rollen in Microsoft Entra ID erforderlich.
Die Arbeitsbereiche, die Sie dem Metastore anfügen, müssen sich im Azure Databricks Premium-Tarif befinden.
Wenn Sie den Stammspeicher auf Metastore-Ebene einrichten möchten, müssen Sie über die Berechtigung zum Erstellen der folgenden Elemente in Ihrem Azure-Mandanten verfügen:
- Ein Speicherkonto für die Verwendung mit Azure Data Lake Storage Gen2. Lesen Sie die Informationen unter Erstellen eines Speicherkontos für die Verwendung mit Azure Data Lake Storage Gen2.
- Eine neue Ressource zur Aufnahme einer systemseitig zugewiesenen verwalteten Identität. Dazu müssen Sie Mitwirkender oder Eigentümer einer Ressourcengruppe in einem beliebigen Abonnement des Tenants sein.
Schritt 1 (optional): Erstellen Sie einen Speichercontainer für verwalteten Speicher auf Metastore-Ebene
In diesem optionalen Schritt erstellen Sie ein Speicherkonto und einen Container zum Speichern von verwalteten Tabellen- und Datenträgerdaten auf Metastore-Ebene. Informationen dazu, ob Sie den Speicher auf Metastore-Ebene benötigen, finden Sie unter (Optional) Erstellen von Speicher auf Metastore-Ebene.
Erstellen Sie ein Speicherkonto für Azure Data Lake Storage Gen2.
Dieses Speicherkonto enthält von Unity Catalog verwaltete Tabellen und Datenträger. Dies muss ein Azure Data Lake Storage Gen2-Konto in derselben Region wie Ihre Azure Databricks-Arbeitsbereiche sein. Lesen Sie die Informationen unter Erstellen eines Speicherkontos für die Verwendung mit Azure Data Lake Storage Gen2.
Erstellen Sie einen Speichercontainer, der Ihre verwalteten Tabellen und Datenträgerdaten auf Metastore-Ebene enthält.
Sie können nur einen Metastore pro Region erstellen. Sie müssen dieselbe Region für den Metastore und den Speichercontainer verwenden.
Dieser Speicherort auf Metastore-Ebene kann auf Katalog- und Schemaebene außer Kraft gesetzt werden. Weitere Informationen finden Sie unter Angeben eines verwalteten Speicherorts in Unity Catalog.
Notieren Sie sich den ADLSv2-URI für den Container im folgenden Format:
abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
Ersetzen Sie in den folgenden Schritten
<storage-container>
durch diese URI.
Schritt 2 (optional): Erstellen einer verwalteten Identität für den Zugriff auf den verwalteten Speicherort
In diesem Schritt, der nur erforderlich ist, wenn Sie Schritt 1 abgeschlossen haben, erstellen Sie einen Azure Databricks-Zugriffsconnector, der eine verwaltete Identität enthält, und gewähren ihm Zugriff auf den Speichercontainer.
Folgen Sie den Anweisungen unter Verwenden von verwalteten Azure-Identitäten in Unity Catalog, um auf den Speicher zuzugreifen.
Hinweis
Sie können entweder eine verwaltete Azure-Identität oder einen Dienstprinzipal als Identität verwenden, die den Zugriff auf den Speichercontainer des Metastores gewähren. Databricks empfiehlt dringend verwaltete Identitäten, da Sie keine Anmeldeinformationen pflegen oder Geheimnisse drehen müssen und Sie sich mit einem Azure Data Lake Storage Gen2-Konto verbinden können, das durch eine Speicherfirewall geschützt ist. Wenn Sie einen Dienstprinzipal verwenden möchten, lesen Sie Erstellen von verwaltetem Speicher in Unity Catalog mithilfe eines Dienstprinzipals (Legacy).
Schritt 3: Erstellen Sie einen Metastore und fügen Sie einen Arbeitsbereich an
Jede Azure Databricks-Region benötigt einen eigenen Unity-Catalog-Metastore.
Sie erstellen einen Metastore für jede Region, in der Ihre Organisation tätig ist. Sie können jeden dieser regionalen Metastores mit einer beliebigen Anzahl von Arbeitsbereichen in dieser Region verknüpfen. Jeder verknüpfte Arbeitsbereich hat dieselbe Ansicht der Daten im Metastore, und die Datenzugriffssteuerung kann über Arbeitsbereiche hinweg verwaltet werden. Sie können mithilfe von Delta Sharing auf Daten in anderen Metastores zugreifen.
Wenn Sie den Speicher auf Metastore-Ebene erstellen, verwendet der Metastore den Speichercontainer und die von Azure verwaltete Identität, die Sie in den vorherigen Schritten erstellt haben.
Führen Sie die folgenden Schritte aus, um einen Metastore zu erstellen:
Wenn Sie den Speicher auf Metastore-Ebene erstellen möchten, stellen Sie sicher, dass Sie über den Pfad zum Speichercontainer und die Ressourcen-ID des Azure Databricks-Zugriffsconnectors verfügen, den Sie in der vorherigen Aufgabe erstellt haben.
Melden Sie sich bei Ihrem Arbeitsbereich als Kontoadministrator an.
Klicken Sie in der oberen Leiste des Azure Databricks-Arbeitsbereichs auf Ihren Benutzernamen, und wählen Sie Konto verwalten aus.
Melden Sie sich bei der Kontokonsole von Azure Databricks an.
Klicken Sie auf Katalog.
Klicken Sie auf Metastore erstellen.
Geben Sie Folgendes ein:
Name für den Metastore.
Region, in der der Metaspeicher bereitgestellt werden soll.
Dies muss die gleiche Region sein wie die der Arbeitsbereiche, die Sie zum Zugriff auf die Daten verwenden möchten. Wenn Sie einen Speichercontainer für den Speicher auf Metastore-Ebene erstellen möchten, muss die Region ebenfalls identisch sein.
(Optional) ADLS Gen 2-Pfad: Geben Sie den Pfad zu dem Speichercontainer ein, den Sie als Stammspeicher für den Metastore verwenden werden.
Das Präfix
abfss://
wird automatisch hinzugefügt.(Optional) Access Connector ID: Geben Sie die Ressourcen-ID des Azure Databricks Access Connectors im folgenden Format an:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
Klicken Sie auf Erstellen.
Wenn Sie dazu aufgefordert werden, wählen Sie die Arbeitsbereiche aus, die mit dem Metastore verknüpft werden sollen.
Weitere Informationen finden Sie unter Aktivieren eines Arbeitsbereichs für Unity Catalog.
Übertragen Sie die Metastore-Administratorrolle auf eine Gruppe.
Der Benutzer, der einen Metastore erstellt, ist sein Eigentümer, auch Metastore-Administrator genannt. Der Metastore-Administrator kann Objekte der obersten Ebene im Metastore wie Kataloge erstellen und den Zugriff auf Tabellen und andere Objekte verwalten. Databricks empfiehlt, dass Sie die Rolle des Metastore-Administrators einer Gruppe zuweisen. Zuweisen eines Metastore-Administrators.
Aktivieren Sie die Azure Databricks-Datenverwaltung von Uploads auf verwaltete Datenträger.
Azure Databricks verwendet die ursprungsübergreifende Ressourcenfreigabe (CORS), um Daten in verwaltete Datenträger in Unity Catalog hochzuladen. Siehe Konfigurieren des Unity Catalog-Speicherkontos für CORS.