Een Unity Catalog-metastore maken

In dit artikel wordt beschreven hoe u een Unity Catalog-metastore maakt en deze koppelt aan werkruimten.

Belangrijk

Voor werkruimten die automatisch zijn ingeschakeld voor Unity Catalog, zijn de instructies in dit artikel niet nodig. Databricks begon op 9 november 2023 automatisch nieuwe werkruimten in te schakelen voor Unity Catalog, waarbij de implementatie geleidelijk verloopt tussen accounts. Volg de instructies in dit artikel alleen als u een werkruimte hebt en nog geen metastore in uw werkruimteregio hebt. Zie Automatische activering van Unity Catalog om te bepalen of er al een metastore in uw regio bestaat.

Een metastore is de container op het hoogste niveau voor gegevens in Unity Catalog. Unity Catalog-metastores registreren metagegevens over beveiligbare objecten (zoals tabellen, volumes, externe locaties en shares) en de machtigingen die toegang tot deze objecten bepalen. Elke metastore bevat een naamruimte met drie niveaus (catalog.schema.table) waarop gegevens kunnen worden ingedeeld. U moet één metastore hebben voor elke regio waarin uw organisatie werkt. Als u wilt werken met Unity Catalog, moeten gebruikers zich in een werkruimte bevinden die is gekoppeld aan een metastore in hun regio.

Ga als volgt te werk om een metastore te maken:

  1. Maak in uw Azure-account desgewenst een opslaglocatie voor opslag op metastoreniveau van beheerde tabellen en volumes.

    Zie (Optioneel) Opslag op metastoreniveau maken en gegevens fysiek gescheiden in de opslag voor informatie over het bepalen of u opslag op metastoreniveau nodig hebt.

  2. Maak in uw Azure-account een door Azure beheerde identiteit of service-principal die toegang geeft tot die opslaglocatie.

  3. Maak in Azure Databricks de metastore, koppel de opslaglocatie en wijs werkruimten toe aan de metastore.

Notitie

Naast de methoden die in dit artikel worden beschreven, kunt u ook een metastore maken met behulp van de Databricks Terraform-provider, met name de databricks_metastore-resource . Gebruik databricks_metastore_data_access om Unity Catalog toegang te geven tot de metastore. Gebruik databricks_metastore_assignment om werkruimten te koppelen aan een metastore.

Voordat u begint

Voordat u begint, moet u vertrouwd raken met de basisconcepten van de Unity Catalog, waaronder metastores en beheerde opslag. Bekijk Wat is Unity Catalog?

Controleer ook of u voldoet aan de volgende vereisten voor alle installatiestappen:

  • U moet een Azure Databricks-accountbeheerder zijn.

    De eerste Azure Databricks-accountbeheerder moet een Microsoft Entra ID (voorheen Azure Active Directory) Global Beheer istrator zijn op het moment dat ze zich voor het eerst aanmelden bij de Azure Databricks-accountconsole. Bij de eerste aanmelding wordt die gebruiker een Azure Databricks-accountbeheerder en heeft deze de rol Microsoft Entra ID Global Beheer istrator niet meer nodig om toegang te krijgen tot het Azure Databricks-account. De eerste accountbeheerder kan gebruikers in de Microsoft Entra ID-tenant toewijzen als extra accountbeheerders (die zelf meer accountbeheerders kunnen toewijzen). Voor extra accountbeheerders zijn geen specifieke rollen in Microsoft Entra ID vereist.

  • De werkruimten die u aan de metastore koppelt, moeten zich in het Azure Databricks Premium-abonnement bevinden.

  • Als u hoofdopslag op metastoreniveau wilt instellen, moet u gemachtigd zijn om het volgende te maken in uw Azure-tenant:

Stap 1 (optioneel): Een opslagcontainer maken voor beheerde opslag op metastore-niveau

In deze stap, optioneel, maakt u een opslagaccount en container voor het opslaan van beheerde tabel- en volumegegevens op metastoreniveau. Zie (Optioneel) Opslag op metastoreniveau maken om te bepalen of u opslag op metastoreniveau nodig hebt.

  1. Maak een opslagaccount voor Azure Data Lake Storage Gen2.

    Dit opslagaccount bevat beheerde tabellen en volumes in Unity Catalog. Dit moet een Azure Data Lake Storage Gen2-account zijn in dezelfde regio als uw Azure Databricks-werkruimten. Zie Een opslagaccount maken dat met Azure Data Lake Storage Gen2 wordt gebruikt.

  2. Maak een opslagcontainer met uw beheerde tabellen en volumegegevens op metastoreniveau.

    U kunt slechts één metastore per regio maken. U moet dezelfde regio gebruiken voor uw metastore en opslagcontainer.

    Deze standaardopslaglocatie op metastore-niveau kan worden overschreven op de catalogus- en schemaniveaus. Zie Beheerde opslag.

    Noteer de ADLSv2-URI voor de container, die de volgende indeling heeft:

    abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
    

    Vervang deze URI in de volgende <storage-container> stappen.

Stap 2 (optioneel): Maak een beheerde identiteit voor toegang tot de beheerde opslaglocatie

In deze stap, die alleen vereist is als u stap 1 hebt voltooid, maakt u een Azure Databricks-toegangsconnector met een beheerde identiteit en geeft u deze toegang tot de opslagcontainer.

Volg de instructies in Beheerde Identiteiten van Azure gebruiken in Unity Catalog voor toegang tot opslag.

Notitie

U kunt een door Azure beheerde identiteit of een service-principal gebruiken als de identiteit die toegang geeft tot de opslagcontainer van de metastore. Databricks raadt beheerde identiteiten ten zeerste aan, omdat u hiervoor geen referenties hoeft te onderhouden of geheimen hoeft te roteren en u verbinding kunt maken met een Azure Data Lake Storage Gen2-account dat wordt beveiligd door een opslagfirewall. Als u een service-principal wilt gebruiken, raadpleegt u Beheerde opslag voor Unity Catalog maken met behulp van een service-principal (verouderd).

Stap 3: De metastore maken en een werkruimte koppelen

Elke Azure Databricks-regio vereist een eigen Unity Catalog-metastore.

U maakt een metastore voor elke regio waarin uw organisatie werkt. U kunt elk van deze regionale metastores koppelen aan een willekeurig aantal werkruimten in die regio. Elke gekoppelde werkruimte heeft dezelfde weergave van de gegevens in de metastore en het toegangsbeheer voor gegevens kan worden beheerd in werkruimten. U hebt toegang tot gegevens in andere metastores met behulp van Delta Sharing.

Als u ervoor kiest om opslag op metastore-niveau te maken, gebruikt de metastore de opslagcontainer en de door Azure beheerde identiteit die u in de vorige stappen hebt gemaakt.

Een metastore maken:

  1. Als u ervoor kiest om opslag op metastoreniveau te maken, moet u ervoor zorgen dat u het pad naar de opslagcontainer en de resource-id hebt van de Azure Databricks-toegangsconnector die u in de vorige taak hebt gemaakt.

  2. Meld u als accountbeheerder aan bij uw werkruimte.

  3. Klik op uw gebruikersnaam in de bovenste balk van de Azure Databricks-werkruimte en selecteer Account beheren.

  4. Meld u aan bij de Azure Databricks-accountconsole.

  5. Klik op CataloguspictogramCatalogus.

  6. Klik op Metastore maken.

  7. Voer het volgende in:

    • Naam voor de metastore.

    • Regio waar de metastore wordt geïmplementeerd.

      Dit moet zich in dezelfde regio bevinden als de werkruimten die u wilt gebruiken voor toegang tot de gegevens. Als u ervoor kiest om een opslagcontainer te maken voor opslag op metastoreniveau, moet die regio ook hetzelfde zijn.

    • (Optioneel) ADLS Gen 2-pad: voer het pad in naar de opslagcontainer die u als hoofdopslag voor de metastore gaat gebruiken.

      Het abfss:// voorvoegsel wordt automatisch toegevoegd.

    • (Optioneel) Toegang Verbinding maken or-id: voer de resource-id van de Azure Databricks-toegangsconnector in de indeling in:

      /subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
      
  8. Klik op Create.

  9. Wanneer u hierom wordt gevraagd, selecteert u werkruimten die u wilt koppelen aan de metastore.

    Zie Een werkruimte inschakelen voor Unity Catalog voor meer informatie.

  10. De beheerdersrol metastore overdragen aan een groep.

    De gebruiker die een metastore maakt, is de eigenaar, ook wel de metastore-beheerder genoemd. De metastore-beheerder kan objecten op het hoogste niveau maken in de metastore, zoals catalogi, en kan de toegang tot tabellen en andere objecten beheren. Databricks raadt u aan om de beheerdersrol metastore opnieuw toe tewijsen aan een groep. Zie Een metastore-beheerder toewijzen.

  11. Azure Databricks-beheer van uploads naar beheerde volumes inschakelen.

    Azure Databricks maakt gebruik van CORS (Cross-Origin Resource Sharing) om gegevens te uploaden naar beheerde volumes in Unity Catalog. Zie Opslagaccount voor Unity Catalog configureren voor CORS.

Volgende stappen

Beheerde opslag toevoegen aan een bestaande metastore

Beheerde opslag op metastoreniveau is optioneel en is niet opgenomen voor metastores die automatisch zijn gemaakt. Mogelijk wilt u opslag op metastoreniveau toevoegen aan uw metastore als u liever een gegevensisolatiemodel gebruikt waarin gegevens centraal worden opgeslagen voor meerdere werkruimten. U hebt opslag op metastoreniveau nodig als u notebooks wilt delen met Delta Sharing of als u een Azure Databricks-partner bent die persoonlijke faseringslocaties gebruikt.

Zie ook Beheerde opslag.

Vereisten

  • U moet ten minste één werkruimte hebben gekoppeld aan de Unity Catalog-metastore.
  • Azure Databricks-machtigingen zijn vereist:
  • Azure-tenantmachtigingen vereist:
    • Machtiging voor het maken van een opslagaccount voor gebruik met Azure Data Lake Storage Gen2. Dit opslagaccount moet een hiërarchische naamruimte hebben. Zie Een opslagaccount maken dat met Azure Data Lake Storage Gen2 wordt gebruikt.
    • Machtiging voor het maken van een nieuwe resource voor het opslaan van een door het systeem toegewezen beheerde identiteit. Hiervoor moet u inzender of eigenaar van een resourcegroep zijn in elk abonnement in de tenant.

Stap 1: De opslaglocatie maken

Volg de instructies in stap 1 (optioneel): Maak een opslagcontainer voor beheerde opslag op metastoreniveau en stap 2 (optioneel): Maak een beheerde identiteit voor toegang tot de beheerde opslaglocatie om een opslagcontainer te maken in Azure Data Lake Storage Gen2 en een Azure Databricks-toegangsconnector die een beheerde identiteit bevat die toegang heeft tot de opslagcontainer.

Stap 2: Een externe locatie maken in Unity Catalog

In deze stap maakt u een externe locatie in Unity Catalog die verwijst naar het ADLS Gen 2-pad dat u zojuist hebt gemaakt.

  1. Maak een opslagreferentie.

    De opslagreferentie vertegenwoordigt de door Azure beheerde identiteit die u in stap 1 hebt gemaakt: de opslaglocatie maken.

    Volg de instructies in Een opslagreferentie maken om verbinding te maken met Azure Data Lake Storage Gen2.

  2. Maak een externe locatie die verwijst naar de opslagreferentie die u in de vorige stap hebt gemaakt en de ADLS Gen 2-opslagcontainer die u in stap 1 hebt gemaakt: de opslaglocatie maken.

    Volg de instructies in Een externe locatie maken om cloudopslag te verbinden met Azure Databricks

  3. Verdeel uzelf de CREATE MANAGED STORAGE bevoegdheid op de externe locatie.

    1. Klik op de naam van de externe locatie om het detailvenster te openen.
    2. Klik op het tabblad Machtigingen op Verlenen.
    3. Selecteer in het dialoogvenster Grant on<external location>uzelf in het veld Principals en selecteer CREATE MANAGED STORAGE.
    4. Klik op Verlenen.

Stap 3: De opslaglocatie toevoegen aan de metastore

Nadat u een externe locatie hebt gemaakt die de metastore-opslagbucket vertegenwoordigt, kunt u deze toevoegen aan de metastore.

  1. Meld u als accountbeheerder aan bij de accountconsole.

  2. Klik op CataloguspictogramCatalogus.

  3. Klik op de naam van de metastore.

  4. Bevestig dat u de Metastore-Beheer bent.

    Als u dat niet bent, klikt u op Bewerken en wijst u uzelf toe als de metastore-beheerder. U kunt de toewijzing van uzelf ongedaan maken wanneer u klaar bent met deze procedure.

  5. Klik op het tabblad Configuratie naast het pad ADLS Gen 2 op Instellen.

  6. Voer in het hoofddialoogvenster Metastore instellen het ADLS Gen 2-pad in dat u hebt gebruikt om de externe locatie te maken en klik op Bijwerken.

    U kunt dit pad niet wijzigen nadat u het hebt ingesteld.

Een metastore verwijderen

Als u uw Azure Databricks-account sluit of een andere reden hebt om toegang te verwijderen tot gegevens die worden beheerd door uw Unity Catalog-metastore, kunt u de metastore verwijderen.

Waarschuwing

Alle objecten die worden beheerd door de metastore, worden niet toegankelijk met behulp van Azure Databricks-werkruimten. Deze actie kan niet ongedaan worden gemaakt.

Beheerde tabelgegevens en metagegevens worden na 30 dagen automatisch verwijderd. Externe tabelgegevens in uw cloudopslag worden niet beïnvloed door het verwijderen van metastores.

Een metastore verwijderen:

  1. Meld u als metastore-beheerder aan bij de accountconsole.
  2. Klik op CataloguspictogramCatalogus.
  3. Klik op de naam van de metastore.
  4. Klik op het tabblad Configuratie op het menu met drie knoppen rechtsboven en selecteer Verwijderen.
  5. Voer in het bevestigingsvenster de naam van de metastore in en klik op Verwijderen.