Aktivera Hive-metaarkivfederation för ett äldre Hive-metaarkiv för arbetsytor
Viktig
Den här funktionen finns i offentlig förhandsversion.
Den här artikeln visar hur du federerar ditt äldre Azure Databricks Hive-metaarkiv så att din organisation kan arbeta med ditt Hive-metaarkiv tables med hjälp av Unity Catalog.
En översikt över Hive-metaarkivfederationen finns i Hive-metaarkivfederation: aktivera Unity Catalog för att styra tables som registrerats i ett Hive-metaarkiv.
Innan du börjar
Granska list av funktioner och tjänster som stöds av Hive-metastore-federationen: Krav, funktioner som stöds och begränsningar.
Specifika krav anges för varje steg nedan.
Steg 1: Anslut Unity Catalog till hive-metaarkivet
I det här steget skapar du en -anslutning, ett Unity Catalog-säkerhetsobjekt som anger en sökväg och credentials för att få åtkomst till ett databassystem, i det här fallet din Azure Databricks-arbetsytas äldre Hive-metaarkiv.
Krav
-
CREATE CONNECTION
-privilegiet för Unity Catalog-metaarkivet.
Skapa anslutningen
En anslutning anger en sökväg och credentials för åtkomst till ett externt databassystem. Om du vill skapa en anslutning kan du använda Catalog Explorer eller kommandot CREATE CONNECTION
SQL i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren.
Obs
Du kan också använda Databricks REST API eller Databricks CLI för att skapa en anslutning. Se kommandona POST /api/2.1/unity-catalog/connections och Unity Catalog.
Behörigheter som krävs: metaarkivadministratör eller användare med CREATE CONNECTION
behörighet.
Catalog Explorer
På din Azure Databricks-arbetsyta klickar du på ikonen
Catalog.
På sidan Snabbåtkomst klickar du på Lägg till data > Lägg till en anslutning.
På sidan Anslutningsgrunder i guiden för uppkoppling Set, ange ett användarvänligt Anslutningsnamn.
Select en Anslutningstyp av Hive-metaarkiv och metaarkivtyp av Intern.
(Valfritt) Lägg till en kommentar.
Klicka på Nästa.
(Valfritt) På sidan Anslutningsinformation anger du den fullt kvalificerade sökvägen till Hive Warehouse-katalogen .
Du behöver bara detta om du inte vill använda standardplatsen.
Klicka på Skapa anslutning.
På sidan Catalog grundläggande anger du ett namn för den externa catalog.
För Auktoriserade sökvägarväljer du molnlagringssökvägar som kan nås via catalog. Endast tables som faller under dessa sökvägar kan efterfrågas via den federerade catalog. Sökvägar måste täckas av externa platser. Mer information finns i Vad är auktoriserade sökvägar?.
(Valfritt) För Lagringsplatsväljer du en plats i molnlagring where valda data ska lagras för tables i den här catalog. Om den inte anges kommer platsen som standard att vara rotplatsen för metaarkivet, om den finns.
Klicka på Skapa catalog.
På sidan Accessselect de arbetsytor där användarna kan komma åt catalog du skapade. Du kan selectAlla arbetsytor har åtkomsteller klicka på Tilldela till arbetsytor, select arbetsytorna och klicka sedan på Tilldela.
Lägg till en ägare som kan hantera åtkomst till alla objekt i catalog. Börja skriva en användare eller grupp i textrutan och klicka sedan på användaren eller gruppen i de returnerade resultaten.
Grant Privileges på catalog. Klicka på Grant:
- Ange principals som ska ha åtkomst till objekt i catalog. Börja skriva en användare eller grupp i textrutan och klicka sedan på användaren eller gruppen i de returnerade resultaten.
-
Select förinställda Privilege för att grant till varje användare eller grupp. Alla kontoanvändare beviljas
BROWSE
som standard.-
Select
Data Reader från den nedrullningsbara menyn till grant
read
behörigheter på objekt i catalog. -
Select
dataredigeraren från den nedrullningsbara menyn för att grant
read
ochmodify
behörigheter för objekt i catalog. - Tilldela select behörigheterna manuellt för grant.
-
Select
Data Reader från den nedrullningsbara menyn till grant
- Klicka på Grant.
Klicka på Nästa.
På sidan metadata anger du taggar för nyckel/värde-par. För mer information, se Tillämpa taggar på Unity Catalog skyddsbara objekt.
(Valfritt) Lägg till en kommentar.
Klicka på Spara.
SQL
Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren.
CREATE CONNECTION IF NOT EXISTS <connection-name> TYPE hive_metastore
OPTIONS (builtin true);
Steg 2: Skapa externa platser för data i ditt interna äldre Hive-metaarkiv
I det här steget konfigurerar du en extern plats i Unity Catalog för att styra åtkomsten till molnlagringsplatserna som innehåller data som är registrerade i ditt äldre interna Hive-metaarkiv.
Externa platser är Unity Catalog skyddsbara objekt som associerar lagring credentials med containersökvägar för molnlagring. Se Externa platser och lagring credentials.
Krav
Behörighetskrav för molnlagring och Azure Databricks finns i "Innan du börjar" i Skapa en extern plats för att ansluta molnlagring till Azure Databricks.
Om du skapar en extern plats för arbetsytans äldre DBFS-rot läser du i stället "Innan du börjar" i Skapa en extern plats för data i DBFS-roten.
Alternativ för att skapa den externa platsen
Den process som Databricks rekommenderar för att skapa en extern plats i Unity Catalog beror på din situation:
- Om du federerar ett internt Databricks Hive-metaarkiv som lagrar data i DBFS-fästen eller DBFS-roten, skapar du den externa platsen med hjälp av Catalog Explorer och använder alternativet Kopiera från DBFS-fäste. Följ anvisningarna i Skapa en extern plats manuellt med Catalog Explorer eller Skapa en extern plats för data i DBFS-roten.
- Annars kan du använda antingen Catalog Explorer- eller SQL-kommandon. Följ anvisningarna i Skapa en extern plats manuellt med Catalog Explorer eller Skapa en extern plats med HJÄLP av SQL.
Aktivera reservläge på externa platser
Så snart du skapar en extern plats i Unity Catalog, regleras åtkomsten till sökvägen som representeras av den externa platsen av Unity-Catalog-behörigheter när du kör frågor på Unity Catalog-aktiverad beräkning (enskild användare, delad eller SQL-warehouse). Detta kan avbryta befintliga arbetslaster som inte har korrekta Unity Catalog-behörigheter för att få åtkomst till sökvägen.
När en extern plats är i återställningsläge kontrollerar systemet först det frågande huvudkontots Unity-Catalog behörigheter på platsen, och om det inte lyckas återgår det till att använda befintliga kluster- eller notebook-begränsade credentials, till exempel instansprofiler eller Apache Spark-konfigurationsegenskaper, så att dina befintliga arbetsbelastningar fortsätter att köras oavbrutet.
Återställningsläge är praktiskt när du håller på att migrera din äldre arbetsbelastning. När du har uppdaterat dina arbetsbelastningar så att de körs med Unity-Catalog behörigheter bör du inaktivera fallback-läget för att förhindra att äldre klusteromfång credentials används för att kringgå Unity-Catalog datastyrning.
Du kan aktivera reservläge med Catalog Explorer eller REST-API:et för Unity Catalog externa platser.
Behörigheter som krävs: Ägare av den externa platsen.
Catalog Explorer
- På din Azure Databricks-arbetsyta klickar du på ikonen
Catalog.
- På sidan Snabbåtkomst klickar du på Extern data >.
- Select den externa plats som du vill update.
- Aktivera återställningsläge växla och klicka på Aktivera för att bekräfta.
API
Följande curl-exempel visar hur du aktiverar återställningsläge när du skapar en extern plats och när du update en befintlig extern plats.
Skapa en ny extern plats:
curl -X POST -H 'Authorization: Bearer <token>' \
https://<workspace-URL>/api/2.1/unity-catalog/external-locations \
--data
'{
"name": "fallback_mode_enabled_external_location",
"url": "abfss://container-name@storage-account.dfs.core.windows.net/external_location_container/url",
"credential_name": "external_location_credential",
"fallback": true
"skip_validation": true
}'
Uppdaterar en extern plats:
curl -X PATCH \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
https://<workspace-URL>/api/2.1/unity-catalog/external-locations/<external-location-name> \
--data
'{
"comment": "fallback mode enabled",
"fallback": true
}'
Steg 3: Skapa en federerad catalog
I det här steget använder du anslutningen som du skapade i steg 1 för att skapa en federerad catalog i Unity Catalog som pekar på den externa plats som du skapade i steg 2. En federerad catalog är en typ av främmande catalog, som är ett skyddsbart objekt i Unity Catalog som speglar en databas eller catalog i ett externt datasystem, vilket gör att du kan utföra frågor på dessa data på din Azure Databricks-arbetsyta med åtkomst som hanteras av Unity Catalog. I det här fallet är den speglade catalog dina data registrerade i ett Hive-metaarkiv.
Varje gång en användare eller ett arbetsflöde interagerar med den federerade catalogsynkroniseras metadata från Hive-metaarkivet.
krav
behörighetskrav:
Så här skapar du den utländska catalog:
- Det
CREATE CATALOG
privilegie på ditt Unity Catalog metadatalager. - Antingen ägarskap för anslutningen eller
CREATE FOREIGN CATALOG
behörighet för anslutningen. - Om du vill ange auktoriserade sökvägar för den externa catalogmåste du ha
CREATE FOREIGN SECURABLE
behörighet på en extern plats som täcker dessa sökvägar. Ägaren till den externa platsen har den här behörigheten som standard.
Så här arbetar du med den utländska catalog:
- Ägarskap för catalog eller
USE CATALOG
Beräkningskrav:
- Skapa catalog med hjälp av Catalog Explorer: ingen beräkning krävs.
- Skapa catalog med SQL: Databricks Runtime 13.3 LTS eller senare.
- Arbeta med catalog: ett delat kluster på Databricks Runtime 13.3 LTS, 14.3 LTS, 15.1 eller senare.
Skapa den främmande catalog
Om du vill skapa en extern catalogkan du använda Catalog Explorer eller kommandot CREATE FOREIGN CATALOG
SQL i en Notepad i Azure Databricks eller SQL-frågeredigeraren.
Obs
Du kan också använda Unity Catalog-API:et. Se Skapa en catalog i referensen för Databricks REST API.
På din Azure Databricks-arbetsyta klickar du på ikonen
Catalog för att öppna Catalog Explorer.
På sidan Snabbåtkomst klickar du på Lägg till data botton och selectLägg till en catalog .
Ange ett Catalog namn och select en catalogtyp av Utländsk.
Select Anslutning som du skapade i steg 1 i listrutan.
I fältet Auktoriserade sökvägar anger du sökvägar till de molnlagringsplatser som du definierade som externa platser i steg 2. Till exempel
abfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance
.Auktoriserade sökvägar är ett extra lager av säkerhet endast för federerade catalogs. Se Vad är auktoriserade sökvägar?.
Klicka på Skapa.
(Valfritt) Klicka på Konfigurera för att öppna en guide som vägleder dig genom att bevilja behörigheter för catalog och lägga till taggar. Du kan också utföra de här stegen senare.
Se Hantera behörigheter i Unity Catalog och Tillämpa taggar på Unity Catalog skyddsbara objekt.
(Valfritt) Binda catalog till specifika arbetsytor.
Som standard kan catalogs nås från alla arbetsytor som är kopplade till Metaarkivet Unity Catalog (begränsas av användarbehörigheter). Om du bara vill tillåta åtkomst från specifika arbetsytor går du till fliken Arbetsytor och tilldelar arbetsytor. Se Limitcatalog åtkomst till specifika arbetsytor.
Fyll i de federerade catalog med Hive-metaarkivmetadata.
Varje gång en användare eller ett arbetsflöde interagerar med den federerade catalogsynkroniseras metadata från Hive-metaarkivet. Den första interaktionen fyller catalog i Unity Catalog och gör innehållet synligt i användargränssnittet för Catalog Explorer. Du kan fylla i catalog genom att välja och starta en beräkningsresurs som stöds i Catalog Explorer. Du måste vara catalog ägare (vilket du är genom att skapa catalog) eller en användare med
USE CATALOG
behörighet.Kör följande SQL-kommando i en notebook-fil eller SQL-frågeredigeraren. Objekt inom hakparenteser är valfria. Ersätt platshållaren values:
-
<catalog-name>
: Namn på catalog i Azure Databricks. -
<connection-name>
: Namnet på det anslutningsobjekt som du skapade i steg 1. -
<path1>,<path2>
: Sökvägar till de molnlagringsplatser som du definierade som externa platser i steg 2. Till exempelabfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance
. Auktoriserade sökvägar är ett extra lager av säkerhet endast för federerade catalogs. Se Vad är auktoriserade sökvägar?.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name> OPTIONS (authorized_paths '<path1>,<path2>');
Varje gång en användare eller ett arbetsflöde interagerar med den federerade catalogsynkroniseras metadata från Hive-metaarkivet.
-