Skapa och hantera resurser för deltadelning
Den här artikeln beskriver hur du skapar och hanterar resurser för deltadelning.
En resurs är ett skyddsbart objekt i Unity Catalog som du kan använda för att dela följande datatillgångar med en eller flera mottagare:
- Tabeller och tabellpartitioner
- Vyer, inklusive dynamiska vyer som begränsar åtkomsten på rad- och kolumnnivå
- Volymer
- Notebook-filer
- AI-modeller
Om du delar ett helt schema (databas) kan mottagaren komma åt alla tabeller, vyer, modeller och volymer i schemat när du delar det, tillsammans med alla data och AI-tillgångar som läggs till i schemat i framtiden.
En resurs kan innehålla data och AI-tillgångar från endast ett Unity Catalog-metaarkiv. Du kan lägga till eller ta bort data och AI-tillgångar från en resurs när som helst.
Mer information finns i Resurser, leverantörer och mottagare.
Krav
Om du vill skapa en resurs måste du:
- Vara administratör för metaarkivet eller ha
CREATE SHARE
behörighet för Unity Catalog-metaarkivet där de data som du vill dela är registrerade. - Skapa resursen med hjälp av en Azure Databricks-arbetsyta där Unity Catalog-metaarkivet är kopplat.
Om du vill lägga till tabeller eller vyer i en resurs måste du:
- Var resursägare.
- Ha behörigheten
USE CATALOG
ochUSE SCHEMA
för katalogen och schemat som innehåller tabellen eller vyn, eller ägarskapet för katalogen eller schemat. - Ha behörighet för
SELECT
tabellen eller vyn. Du måste behålla den behörigheten för att tabellen eller vyn ska fortsätta att delas. Om du förlorar den kan mottagaren inte komma åt tabellen eller visa den via resursen. Databricks rekommenderar därför att du använder en grupp som resursägare.
Om du vill lägga till volymer i en resurs måste du:
- Var resursägare.
- Ha behörigheten
USE CATALOG
ochUSE SCHEMA
för katalogen och schemat som innehåller volymen eller ägarskapet för katalogen eller schemat. - Ha behörighet på
READ VOLUME
volymen. Du måste behålla den behörigheten för att volymen ska fortsätta att delas. Om du förlorar den kan mottagaren inte komma åt volymen via resursen. Databricks rekommenderar därför att du använder en grupp som resursägare.
Om du vill lägga till modeller i en resurs måste du:
- Var resursägare.
- Ha behörigheten
USE CATALOG
ochUSE SCHEMA
för katalogen och schemat som innehåller modellen eller ägarskapet för katalogen eller schemat. -
EXECUTE
Ha privilegiet för modellen. Du måste behålla den behörigheten för att modellen ska fortsätta att delas. Om du förlorar den kan mottagaren inte komma åt modellen via resursen. Databricks rekommenderar därför att du använder en grupp som resursägare.
Om du vill dela ett helt schema måste du:
- Vara resursägare och schemaägare, eller ha
USE SCHEMA.
- Ha
SELECT
på schemat för att dela tabeller. - Ha
READ VOLUME
på schemat för att dela volymer.
Om du vill lägga till notebook-filer i en resurs måste du vara:
- Resursägaren och har behörigheten KAN LÄSA i anteckningsboken.
Om du vill ge mottagaren åtkomst till en resurs måste du vara något av följande:
- Metaarkivadministratör.
- Användare med delegerade behörigheter eller ägarskap för både resursen och mottagarobjekten ((
USE SHARE
+SET SHARE PERMISSION
) eller resursägaren) OCH (USE RECIPIENT
eller mottagarens ägare).
Om du vill visa resurser måste du vara en av följande:
- En metaarkivadministratör (kan visa alla)
- En användare med behörigheten
USE SHARE
(kan visa alla) - Ägaren till resursobjektet
Beräkningskrav:
- Om du använder en Databricks-notebook-fil för att skapa resursen måste klustret använda Databricks Runtime 11.3 LTS eller senare och åtkomstläget för delade eller enskilda användare.
- Om du använder SQL-instruktioner för att lägga till ett schema i en resurs (eller uppdatera eller ta bort ett schema) måste du använda ett SQL-lager eller beräkning som kör Databricks Runtime 13.3 LTS eller senare. Att göra samma sak med Hjälp av Catalog Explorer har inga beräkningskrav.
Skapa ett resursobjekt
Om du vill skapa en resurs kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller CREATE SHARE
SQL-kommandot i en Azure Databricks-anteckningsbok eller Databricks SQL-frågeredigeraren.
Behörigheter som krävs: Metaarkivadministratör eller användare med CREATE SHARE
behörighet för metaarkivet.
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig klickar du på knappen Dela data .
På sidan Skapa resurs anger du resursnamnet och en valfri kommentar.
Klicka på Spara och fortsätt.
Du kan fortsätta att lägga till datatillgångar, eller så kan du stoppa och komma tillbaka senare.
På fliken Lägg till datatillgångar väljer du de tabeller, volymer, vyer och modeller som du vill dela.
Detaljerade instruktioner finns i:
Klicka på Spara och fortsätt.
På fliken Lägg till anteckningsböcker väljer du de anteckningsböcker som du vill dela.
Detaljerade anvisningar finns i Lägga till notebook-filer i en resurs.
Klicka på Spara och fortsätt.
På fliken Lägg till mottagare väljer du de mottagare som du vill dela med.
Detaljerade anvisningar finns i Hantera åtkomst till deltadelningsdataresurser (för leverantörer).
Klicka på Dela data för att dela data med mottagarna.
SQL
Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren:
CREATE SHARE [IF NOT EXISTS] <share-name>
[COMMENT "<comment>"];
Nu kan du lägga till tabeller, volymer, vyer och modeller i resursen.
Detaljerade instruktioner finns i:
- Lägga till tabeller i en resurs
- Lägga till volymer i en resurs
- Lägga till vyer i en resurs
- Lägga till modeller i en resurs
CLI
Kör följande kommando med hjälp av Databricks CLI.
databricks shares create <share-name>
Du kan använda --comment
för att lägga till en kommentar eller --json
för att lägga till tillgångar i resursen. Mer information finns i avsnitten som följer.
Nu kan du lägga till tabeller, volymer, vyer och modeller i resursen.
Detaljerade instruktioner finns i:
- Lägga till tabeller i en resurs
- Lägga till volymer i en resurs
- Lägga till vyer i en resurs
- Lägga till modeller i en resurs
Lägga till tabeller i en resurs
Om du vill lägga till tabeller i en resurs kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller SQL-kommandon i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren.
Kommentar
Tabellkommenter, kolumnkommenterar och primärnyckelbegränsningar ingår i resurser som delas med en mottagare med databricks-till-Databricks-delning den 25 juli 2024 eller senare. Om du vill börja dela kommentarer och begränsningar via en resurs som delades med en mottagare före utgivningsdatumet måste du återkalla och återbevilja mottagaråtkomst för att utlösa kommentars- och begränsningsdelning.
Behörigheter som krävs: Ägare av resursobjektet och USE CATALOG
USE SCHEMA
i katalogen och schemat som innehåller tabellen och behörigheten SELECT
i tabellen. Du måste behålla behörigheten SELECT
så länge du vill dela tabellen. Mer information finns i Krav.
Kommentar
Om du är administratör för arbetsytan och har ärvt USE SCHEMA
behörigheterna och USE CATALOG
för schemat och katalogen som innehåller tabellen från arbetsytans administratörsgrupp kan du inte lägga till tabellen i en resurs. Du måste först ge dig själv behörigheterna USE SCHEMA
och USE CATALOG
för schemat och katalogen.
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig letar du reda på den resurs som du vill lägga till en tabell i och klickar på dess namn.
Klicka på Hantera tillgångar > Lägg till datatillgångar.
På sidan Lägg till tabeller väljer du antingen ett helt schema (databas) eller enskilda tabeller och vyer.
Om du vill välja en tabell eller vy väljer du först katalogen, sedan schemat som innehåller tabellen eller vyn och sedan själva tabellen eller vyn.
Du kan söka efter tabeller efter namn, kolumnnamn eller kommentar med hjälp av arbetsytesökning. Se Sök efter arbetsyteobjekt.
Välj ett schema genom att först välja katalogen och sedan schemat.
Detaljerad information om delningsscheman finns i Lägga till scheman i en resurs.
History: Dela tabellhistoriken så att mottagarna kan köra tidsresefrågor eller läsa tabellen med Spark Structured Streaming. För Databricks-till-Databricks-resurser delas även tabellens Delta-logg för att förbättra prestandan. Se Förbättra tabellläsningsprestanda med historikdelning. Historikdelning kräver Databricks Runtime 12.2 LTS eller senare.
Kommentar
Om du, förutom att köra frågor om tidsresor och direktuppspelningsläsningar, vill att dina kunder ska kunna köra frågor mot en tabells ändringsdataflöde (CDF) med hjälp av
WITH HISTORY
.(Valfritt) Klicka på Avancerade tabellalternativ för att ange följande alternativ. Alias och partitioner är inte tillgängliga om du väljer ett helt schema. Tabellhistorik ingår som standard om du väljer ett helt schema.
- Alias: Ett alternativt tabellnamn för att göra tabellnamnet mer läsbart. Aliaset är det tabellnamn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska tabellnamnet om ett alias har angetts.
-
Partition: Dela endast en del av tabellen. Exempel:
(column = 'value')
Se Ange tabellpartitioner för att dela och Använd mottagaregenskaper för att utföra partitionsfiltrering.
Klicka på Spara.
SQL
Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren för att lägga till en tabell:
ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name> [COMMENT "<comment>"]
[PARTITION(<clause>)] [AS <alias>]
[WITH HISTORY | WITHOUT HISTORY];
Kör följande för att lägga till ett helt schema. Kommandot ADD SCHEMA
kräver ett SQL-lager eller en beräkning som kör Databricks Runtime 13.3 LTS eller senare. Detaljerad information om delningsscheman finns i Lägga till scheman i en resurs.
ALTER SHARE <share-name> ADD SCHEMA <catalog-name>.<schema-name>
[COMMENT "<comment>"];
Alternativen omfattar följande.
PARTITION
och AS <alias>
är inte tillgängliga om du väljer ett helt schema.
WITH HISTORY
är markerad som standard för alla tabeller om du väljer ett helt schema.
PARTITION(<clause>)
: Om du bara vill dela en del av tabellen kan du ange en partition. Du kan till exempel(column = 'value')
läsa Ange tabellpartitioner att dela och Använda mottagaregenskaper för att utföra partitionsfiltrering.AS <alias>
: Ett alternativt tabellnamn eller alias för att göra tabellnamnet mer läsbart. Aliaset är det tabellnamn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska tabellnamnet om ett alias har angetts. Använd formatet<schema-name>.<table-name>
.WITH HISTORY
ellerWITHOUT HISTORY
: NärWITH HISTORY
anges delar du tabellen med fullständig historik så att mottagarna kan köra frågor om tidsresor och direktuppspelningsläsningar. För Databricks-till-Databricks-delningar delar historikdelning även Delta-loggen för att förbättra prestanda, se Förbättra tabellläsningsprestanda med historikdelning. Standardbeteendet för tabelldelning ärWITHOUT HISTORY
och för schemadelning ärWITH HISTORY
. Kräver Databricks Runtime 12.2 LTS eller senare.Kommentar
Om du, förutom att köra frågor om tidsresor och direktuppspelningsläsningar, vill att dina kunder ska kunna köra frågor mot en tabells ändringsdataflöde (CDF) med hjälp av
WITH HISTORY
.
Mer information om ALTER SHARE
alternativ finns i ALTER SHARE.
CLI
Om du vill lägga till en tabell kör du följande kommando med hjälp av Databricks CLI.
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
Om du vill lägga till ett schema kör du följande Databricks CLI-kommando:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<schema-full-name>",
"data_object_type": "SCHEMA"
}
}
]
}'
Kommentar
För tabeller och endast tabeller kan du utelämna "data_object_type"
.
Om du vill veta mer om alternativen i det här exemplet kan du läsa anvisningarna på fliken SQL.
Mer information om ytterligare parametrar finns databricks shares update --help
i PATCH /api/2.1/unity-catalog/shares/ i REST API-referensen.
Information om hur du tar bort tabeller från en resurs finns i Uppdatera resurser.
Ange tabellpartitioner som ska delas
Om du bara vill dela en del av en tabell när du lägger till tabellen i en resurs kan du ange en partitionsspecifikation. Du kan ange partitioner när du lägger till en tabell i en resurs eller uppdaterar en resurs med hjälp av Catalog Explorer, Databricks Unity Catalog CLI eller SQL-kommandon i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren. Se Lägga till tabeller i en resurs och Uppdatera resurser.
Grundläggande exempel
Följande SQL-exempel delar en del av data i inventory
tabellen, partitionerade efter kolumnerna year
, month
och date
:
- Data för år 2021.
- Data för december 2020.
- Data för 25 december 2019.
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
(year = "2020", month = "Dec"),
(year = "2019", month = "Dec", date = "2019-12-25");
Använda mottagaregenskaper för att utföra partitionsfiltrering
Du kan dela en tabellpartition som matchar egenskaper för datamottagare, även kallat parametriserad partitionsdelning.
Standardegenskaper är:
-
databricks.accountId
: Azure Databricks-kontot som en datamottagare tillhör (endast databricks-till-Databricks-delning). -
databricks.metastoreId
: Unity Catalog-metaarkivet som en datamottagare tillhör (endast databricks-till-Databricks-delning). -
databricks.name
: Namnet på datamottagaren.
Du kan skapa valfri anpassad egenskap som du vill när du skapar eller uppdaterar en mottagare.
Genom att filtrera efter mottagaregenskap kan du dela samma tabeller med samma resurs över flera Databricks-konton, arbetsytor och användare samtidigt som datagränserna mellan dem upprätthålls.
Om dina tabeller till exempel innehåller en azure Databricks-konto-ID-kolumn kan du skapa en enskild resurs med tabellpartitioner som definierats av Azure Databricks-konto-ID. När du delar levererar deltadelning dynamiskt till varje mottagare endast de data som är associerade med deras Azure Databricks-konto.
Utan möjligheten att dynamiskt partitioneras efter egenskap måste du skapa en separat resurs för varje mottagare.
Om du vill ange en partition som filtrerar efter mottagaregenskaper när du skapar eller uppdaterar en resurs kan du använda Catalog Explorer eller CURRENT_RECIPIENT
SQL-funktionen i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren:
Kommentar
Mottagaregenskaper är tillgängliga på Databricks Runtime 12.2 och senare.
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig letar du reda på den resurs som du vill uppdatera och klickar på dess namn.
Klicka på Hantera tillgångar > Lägg till datatillgångar.
På sidan Lägg till tabeller väljer du den katalog och databas som innehåller tabellen och väljer sedan tabellen.
Om du inte är säker på vilken katalog och databas som innehåller tabellen kan du söka efter den efter namn, kolumnnamn eller kommentar med hjälp av arbetsytesökning. Se Sök efter arbetsyteobjekt.
(Valfritt) Klicka på Avancerade tabellalternativ för att lägga till partitionsspecifikationer .
I dialogrutan Lägg till partition i en tabell lägger du till den egenskapsbaserade partitionsspecifikationen med hjälp av följande syntax:
(<column-name> = CURRENT_RECIPIENT().<property-key>)
Ett exempel:
(country = CURRENT_RECIPIENT().'country')
Klicka på Spara.
SQL
Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren:
ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>
PARTITION (<column-name> = CURRENT_RECIPIENT().<property-key>);
Ett exempel:
ALTER SHARE acme ADD TABLE acme.default.some_table
PARTITION (country = CURRENT_RECIPIENT().'country');
Lägga till tabeller med borttagningsvektorer eller kolumnmappning till en resurs
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Borttagningsvektorer är en funktion för lagringsoptimering som du kan aktivera i Delta-tabeller. Se Vad är borttagningsvektorer?.
Azure Databricks stöder även kolumnmappning för Delta-tabeller. Se Byt namn på och släpp kolumner med Delta Lake-kolumnmappning.
Om du vill dela en tabell med borttagningsvektorer eller kolumnmappning måste du dela den med historiken. Se Lägga till tabeller i en resurs.
När du delar en tabell med borttagningsvektorer eller kolumnmappning kan mottagarna köra frågor mot tabellen med hjälp av ett SQL-lager, ett kluster som kör Databricks Runtime 14.1 eller senare eller beräkning som körs öppen källkod delta-sharing-spark
3.1 eller senare. Se Läs tabeller med borttagningsvektorer eller kolumnmappning aktiverat och Läs tabeller med borttagningsvektorer eller kolumnmappning aktiverat.
Lägga till vyer i en resurs
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Vyer är skrivskyddade objekt som skapats från en eller flera tabeller eller andra vyer. En vy kan skapas från tabeller och andra vyer som finns i flera scheman och kataloger i ett Unity Catalog-metaarkiv. Se Skapa och hantera vyer.
Det här avsnittet beskriver hur du lägger till vyer till en resurs med hjälp av Catalog Explorer-, Databricks CLI- eller SQL-kommandon i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren. Om du föredrar att använda REST-API:et för Unity Catalog läser du PATCH /api/2.1/unity-catalog/shares/ i REST API-referensen.
Behörigheter som krävs: Ägare av resursobjektet, USE CATALOG
USE SCHEMA
katalogen och schemat som innehåller vyn och SELECT
i vyn. Du måste behålla behörigheten SELECT
så länge du vill dela vyn. Mer information finns i Krav.
Ytterligare krav:
- Du måste aktivera Serverlös beräkning för arbetsflöden, notebook-filer och Delta Live Tables i kontot där visningsdelning har konfigurerats. Se Aktivera serverlös beräkning.
- Delningsbara visningar måste definieras i Delta-tabeller eller andra delade visningar.
- Du kan inte dela vyer som refererar till delade tabeller eller delade vyer.
- Du måste använda ett SQL-lager eller ett kluster på Databricks Runtime 13.3 LTS eller senare när du lägger till en vy i en resurs.
- Krav och begränsningar för mottagarens användning av vyer finns i Läsa delade vyer.
Så här lägger du till vyer i en resurs:
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig letar du reda på den resurs som du vill lägga till en vy i och klickar på dess namn.
Klicka på Hantera tillgångar > Lägg till datatillgångar.
På sidan Lägg till tabeller söker eller bläddrar du efter den vy som du vill dela och väljer den.
(Valfritt) Klicka på Avancerade tabellalternativ för att ange ett alias eller ett alternativt vynamn för att göra visningsnamnet mer läsbart. Aliaset är det namn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska visningsnamnet om ett alias har angetts.
Klicka på Spara.
SQL
Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren:
ALTER SHARE <share-name> ADD VIEW <catalog-name>.<schema-name>.<view-name>
[COMMENT "<comment>"]
[AS <alias>];
Alternativen inkluderar:
-
AS <alias>
: Ett alternativt vynamn eller alias för att göra visningsnamnet mer läsbart. Aliaset är det vynamn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska visningsnamnet om ett alias har angetts. Använd formatet<schema-name>.<view-name>
. -
COMMENT "<comment>"
: Kommentarer visas i katalogutforskarens användargränssnitt och när du listar och visar visningsinformation med hjälp av SQL-instruktioner.
Mer information om ALTER SHARE
alternativ finns i ALTER SHARE.
CLI
Kör följande Databricks CLI-kommando:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<view-full-name>",
"data_object_type": "VIEW",
"shared_as": "<view-alias>"
}
}
]
}'
"shared_as": "<view-alias>"
är valfritt och tillhandahåller ett alternativt vynamn eller alias för att göra visningsnamnet mer läsbart. Aliaset är det vynamn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska visningsnamnet om ett alias har angetts. Använd formatet <schema-name>.<view-name>
.
Mer information om ytterligare parametrar finns databricks shares update --help
i PATCH /api/2.1/unity-catalog/shares/ i REST API-referensen.
Information om hur du tar bort vyer från en resurs finns i Uppdatera resurser.
Lägga till dynamiska vyer i en resurs för att filtrera rader och kolumner
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Du kan använda dynamiska vyer för att konfigurera detaljerad åtkomstkontroll för tabelldata, inklusive:
- Säkerhet på kolumn- eller radnivå.
- Datamaskering.
När du skapar en dynamisk vy som använder funktionen CURRENT_RECIPIENT() kan du begränsa mottagaråtkomsten enligt egenskaper som du anger i mottagardefinitionen.
Det här avsnittet innehåller exempel på hur du begränsar mottagarens åtkomst till tabelldata på både rad- och kolumnnivå med hjälp av en dynamisk vy.
Krav
-
Databricks Runtime-version: Funktionen
CURRENT_RECIPIENT
stöds i Databricks Runtime 14.2 och senare. -
Behörigheter:
- Om du vill skapa en vy måste du vara ägare till resursobjektet, ha
USE CATALOG
ochUSE SCHEMA
i katalogen och schemat som innehåller vyn, tillsammans medSELECT
i vyn. Du måste behålla behörighetenSELECT
så länge du vill dela vyn. - Om du vill ange egenskaper för en mottagare måste du vara ägare till mottagarobjektet.
- Om du vill skapa en vy måste du vara ägare till resursobjektet, ha
-
Begränsningar: Alla begränsningar för visningsdelning, inklusive begränsning av Databricks-till-Databricks-delning, plus följande:
- När en provider delar en vy som använder
CURRENT_RECIPIENT
funktionen kan providern inte fråga vyn direkt på grund av delningskontexten. För att testa en sådan dynamisk vy måste providern dela vyn med sig själv och fråga vyn som mottagare. - Leverantörer kan inte skapa en vy som refererar till en dynamisk vy.
- När en provider delar en vy som använder
Ange en mottagaregenskap
I de här exemplen har tabellen som ska delas en kolumn med namnet country
, och endast mottagare med en matchande country
egenskap kan visa vissa rader eller kolumner.
Du kan ange mottagaregenskaper med hjälp av Catalog Explorer- eller SQL-kommandon i en Azure Databricks-notebook-fil eller SQL-frågeredigeraren.
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Mottagare letar du reda på den mottagare som du vill lägga till egenskaperna i och klickar på dess namn.
Klicka på Redigera egenskaper.
I dialogrutan Redigera mottagaregenskaper anger du kolumnnamnet som en nyckel (i det här fallet
country
) och det värde som du vill filtrera efter som värde (till exempelCA
).Klicka på Spara.
SQL
Om du vill ange egenskapen på mottagaren använder du ALTER RECIPIENT
. I det här exemplet är egenskapen inställd på country
CA
.
ALTER RECIPIENT recipient1 SET PROPERTIES ('country' = 'CA');
Skapa en dynamisk vy med behörighet på radnivå för mottagare
I det här exemplet kan endast mottagare med en matchande country
egenskap visa vissa rader.
CREATE VIEW my_catalog.default.view1 AS
SELECT * FROM my_catalog.default.my_table
WHERE country = CURRENT_RECIPIENT('country');
Ett annat alternativ är att dataprovidern underhåller en separat mappningstabell som mappar faktatabellfält till mottagaregenskaper, vilket gör att mottagaregenskaper och faktatabellfält kan frikopplas för större flexibilitet.
Skapa en dynamisk vy med behörighet på kolumnnivå för mottagare
I det här exemplet kan endast mottagare som matchar country
egenskapen visa vissa kolumner. Andra ser de data som returneras som REDACTED
:
CREATE VIEW my_catalog.default.view2 AS
SELECT
CASE
WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
ELSE 'REDACTED'
END AS pii
FROM my_catalog.default.my_table;
Dela den dynamiska vyn med en mottagare
Om du vill dela den dynamiska vyn med en mottagare använder du samma SQL-kommandon eller UI-procedur som för en standardvy. Se Lägga till vyer i en resurs.
Lägga till volymer i en resurs
Volymer är Unity Catalog-objekt som representerar en logisk lagringsvolym på en lagringsplats för molnobjekt. De är främst avsedda att ge styrning över icke-tabellbaserade datatillgångar. Se Vad är Unity Catalog-volymer?.
I det här avsnittet beskrivs hur du lägger till volymer i en resurs med hjälp av Catalog Explorer, Databricks CLI eller SQL-kommandon i en Azure Databricks-notebook- eller SQL-frågeredigerare. Om du föredrar att använda REST-API:et för Unity Catalog läser du PATCH /api/2.1/unity-catalog/shares/ i REST API-referensen.
Kommentar
Volymkommenter ingår i resurser som delas med en mottagare med databricks-till-Databricks-delning den 25 juli 2024 eller senare. Om du vill börja dela kommentarer via en resurs som delades med en mottagare före utgivningsdatumet måste du återkalla och återbevilja mottagaråtkomst för att utlösa kommentarsdelning.
Behörigheter som krävs: Ägare av resursobjektet, USE CATALOG
USE SCHEMA
katalogen och schemat som innehåller volymen och READ VOLUME
på volymen. Du måste behålla behörigheten READ VOLUME
så länge du vill dela volymen. Mer information finns i Krav.
Ytterligare krav:
- Volymdelning stöds endast i Databricks-till-Databricks-delning.
- Du måste använda ett SQL-lager på version 2023.50 eller senare eller ett kluster på Databricks Runtime 14.1 eller senare när du lägger till en volym i en resurs.
- Om volymlagringen på providersidan har anpassade nätverkskonfigurationer (till exempel en brandvägg eller en privat länk) måste providern se till att mottagarens kontrollplans- och dataplansadresser är korrekt tillåtna för att kunna ansluta till volymens lagringsplats.
Så här lägger du till volymer i en resurs:
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig letar du reda på den resurs som du vill lägga till en volym i och klickar på dess namn.
Klicka på Hantera tillgångar > Redigera tillgångar.
På sidan Redigera tillgångar söker eller bläddrar du efter den volym som du vill dela och väljer den.
Du kan också välja hela schemat som innehåller volymen. Se Lägga till scheman i en resurs.
(Valfritt) Klicka på Avancerade alternativ för att ange ett alternativt volymnamn, eller Alias, för att göra volymnamnet mer läsbart.
Alias är inte tillgängliga om du väljer ett helt schema.
Aliaset är det namn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska volymnamnet om ett alias har angetts.
Klicka på Spara.
SQL
Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren:
ALTER SHARE <share-name> ADD VOLUME <catalog-name>.<schema-name>.<volume-name>
[COMMENT "<comment>"]
[AS <alias>];
Alternativen inkluderar:
-
AS <alias>
: Ett alternativt volymnamn eller alias för att göra volymnamnet mer läsbart. Aliaset är det volymnamn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska volymnamnet om ett alias har angetts. Använd formatet<schema-name>.<volume-name>
. -
COMMENT "<comment>"
: Kommentarer visas i katalogutforskarens användargränssnitt och när du listar och visar volyminformation med hjälp av SQL-instruktioner.
Mer information om ALTER SHARE
alternativ finns i ALTER SHARE.
CLI
Kör följande kommando med Databricks CLI 0.210 eller senare:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
"string_shared_as": "<volume-alias>"
är valfritt och tillhandahåller ett alternativt volymnamn, eller alias, för att göra volymnamnet mer läsbart. Aliaset är det volymnamn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska volymnamnet om ett alias har angetts. Använd formatet <schema-name>.<volume-name>
.
Mer information om ytterligare parametrar finns databricks shares update --help
i PATCH /api/2.1/unity-catalog/shares/ i REST API-referensen.
Information om hur du tar bort volymer från en resurs finns i Uppdatera resurser.
Lägga till modeller i en resurs
I det här avsnittet beskrivs hur du lägger till modeller i en resurs med hjälp av Catalog Explorer, Databricks CLI eller SQL-kommandon i en Azure Databricks-notebook- eller SQL-frågeredigerare. Om du föredrar att använda REST-API:et för Unity Catalog läser du PATCH /api/2.1/unity-catalog/shares/ i REST API-referensen.
Kommentar
Modellkommentar och modellversionskommenter ingår i resurser som delas med databricks-till-Databricks-delning.
Behörigheter som krävs: Ägare av resursobjektet, USE CATALOG
USE SCHEMA
katalogen och schemat som innehåller modellen och EXECUTE
modellen. Du måste behålla behörigheten EXECUTE
så länge du vill dela modellen. Mer information finns i Krav.
Ytterligare krav:
- Modelldelning stöds endast i Databricks-till-Databricks-delning.
- Du måste använda ett SQL-lager på version 2023.50 eller senare eller ett kluster på Databricks Runtime 14.0 eller senare när du lägger till en modell i en resurs.
Så här lägger du till modeller i en resurs:
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig letar du reda på den resurs som du vill lägga till en modell i och klickar på dess namn.
Klicka på Hantera tillgångar > Redigera tillgångar.
På sidan Redigera tillgångar söker eller bläddrar du efter den modell som du vill dela och väljer den.
Du kan också välja hela schemat som innehåller modellen. Se Lägga till scheman i en resurs.
(Valfritt) Klicka på Avancerade alternativ för att ange ett alternativt modellnamn, eller Alias, för att göra modellnamnet mer läsbart.
Alias är inte tillgängliga om du väljer ett helt schema.
Aliaset är det namn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska modellnamnet om ett alias har angetts.
Klicka på Spara.
SQL
Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren:
ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<model-name>
[COMMENT "<comment>"]
[AS <alias>];
Alternativen inkluderar:
-
AS <alias>
: Ett alternativt modellnamn eller alias för att göra modellnamnet mer läsbart. Aliaset är det modellnamn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska modellnamnet om ett alias har angetts. Använd formatet<schema-name>.<model-name>
. -
COMMENT "<comment>"
: Kommentarer visas i katalogutforskarens användargränssnitt och när du listar och visar modellinformation med hjälp av SQL-instruktioner.
Mer information om ALTER SHARE
alternativ finns i ALTER SHARE.
CLI
Kör följande kommando med Databricks CLI 0.210 eller senare:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<model-full-name>",
"data_object_type": "MODEL",
"string_shared_as": "<model-alias>"
}
}
]
}'
"string_shared_as": "<model-alias>"
är valfritt och tillhandahåller ett alternativt modellnamn, eller alias, för att göra modellnamnet mer läsbart. Aliaset är det modellnamn som mottagaren ser och måste använda i frågor. Mottagarna kan inte använda det faktiska modellnamnet om ett alias har angetts. Använd formatet <schema-name>.<model-name>
.
Mer information om ytterligare parametrar finns databricks shares update --help
i PATCH /api/2.1/unity-catalog/shares/ i REST API-referensen.
Information om hur du tar bort modeller från en resurs finns i Uppdatera resurser.
Lägga till scheman i en resurs
När du lägger till ett helt schema i en resurs har mottagarna inte bara åtkomst till alla datatillgångar i schemat när du skapar resursen, utan även alla tillgångar som läggs till i schemat över tid. Detta omfattar alla tabeller, vyer och volymer i schemat. Tabeller som delas på det här sättet innehåller alltid fullständig historik.
För att lägga till, uppdatera eller ta bort ett schema med SQL krävs ett SQL-lager eller en beräkning som kör Databricks Runtime 13.3 LTS eller senare. Att göra samma sak med Hjälp av Catalog Explorer har inga beräkningskrav.
Behörigheter som krävs: Ägare till resursobjektet och ägaren av schemat (eller en användare med USE SCHEMA
och SELECT
behörigheter i schemat).
Om du vill lägga till ett schema i en resurs följer du anvisningarna i Lägg till tabeller i en resurs och uppmärksammar innehållet som anger hur du lägger till ett schema.
Tabellalias, partitioner och volymalias är inte tillgängliga om du väljer ett helt schema. Om du har skapat alias eller partitioner för några tillgångar i schemat tas dessa bort när du lägger till hela schemat i resursen.
Om du vill ange avancerade alternativ för en tabell eller volym som du delar med schemadelning måste du dela tabellen eller volymen med SQL och ge tabellen eller volymen ett alias med ett annat schemanamn.
Lägga till notebook-filer till en resurs
Använd Katalogutforskaren för att lägga till en notebook-fil i en resurs.
Behörigheter som krävs: Ägare av resursobjektet och KAN LÄSA-behörighet för den notebook-fil som du vill dela.
- På din Azure Databricks-arbetsyta klickar du på Katalog.
- På sidan Snabbåtkomst klickar du på knappen Delta Delning >.
- På fliken Delat av mig letar du reda på den resurs som du vill lägga till en anteckningsbok i och klickar på dess namn.
- Klicka på Hantera tillgångar och välj Lägg till notebook-fil.
- På sidan Lägg till notebook-fil klickar du på filikonen för att bläddra efter den notebook-fil som du vill dela.
- Klicka på den fil som du vill dela och klicka på Välj.
- (Valfritt) ange ett användarvänligt alias för filen i fältet Dela som . Det här är den identifierare som mottagarna kommer att se.
- Under Lagringsplatsanger du den externa platsen i molnlagringen där du vill lagra anteckningsboken. Du kan ange en undermapp under den definierade externa platsen. Om du inte anger någon extern plats lagras anteckningsboken på lagringsplatsen på metaarkivnivå (eller "rotplatsen för metaarkivet"). Om ingen rotplats har definierats för metaarkivet måste du ange en extern plats här. Se Lägg till hanterad lagring i ett befintligt metaarkiv.
- Klicka på Spara.
Den delade notebook-filen visas nu i listan Notebook-filer på fliken Tillgångar .
Ta bort notebook-filer från resurser
Så här tar du bort en notebook-fil från en resurs:
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig letar du reda på resursen som innehåller anteckningsboken och klickar på resursnamnet.
På fliken Tillgångar letar du reda på den notebook-fil som du vill ta bort från resursen.
Klicka på menyn för kebab till höger om raden och välj Ta bort notebook-fil.
Klicka på Ta bort i bekräftelsedialogrutan.
Uppdatera notebook-filer i resurser
Om du vill uppdatera en anteckningsbok som du redan har delat måste du lägga till den igen, vilket ger den ett nytt alias i fältet Dela som . Databricks rekommenderar att du använder ett namn som anger notebook-filens ändrade status, till exempel <old-name>-update-1
. Du kan behöva meddela mottagaren om ändringen. Mottagaren måste välja och klona den nya notebook-filen för att kunna dra nytta av uppdateringen.
Bevilja mottagare åtkomst till en resurs
Om du vill bevilja delningsåtkomst till mottagare kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller GRANT ON SHARE
SQL-kommandot i en Azure Databricks-anteckningsbok eller Databricks SQL-frågeredigeraren.
Behörigheter som krävs: Något av följande:
- Metaarkivadministratör.
- Delegerade behörigheter eller ägarskap för både resursen och mottagarobjekten ((
USE SHARE
+SET SHARE PERMISSION
) eller resursägaren) OCH (USE RECIPIENT
eller mottagarens ägare).
Anvisningar finns i Hantera åtkomst till deltadelningsdataresurser (för leverantörer). Den här artikeln beskriver också hur du återkallar en mottagares åtkomst till en resurs.
Visa resurser och dela information
Om du vill visa en lista med resurser eller information om en resurs kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller SQL-kommandon i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren.
Behörigheter som krävs: Listan över resurser som returneras beror på din roll och dina behörigheter. Metaarkivadministratörer och användare med behörigheten USE SHARE
se alla resurser. Annars kan du bara visa de resurser som du äger resursobjektet för.
Information som ingår:
- Resursens ägare, skapare, tidsstämpel för skapande, uppdatering, uppdaterad tidsstämpel, kommentarer.
- Datatillgångar i resursen.
- Mottagare med åtkomst till resursen.
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
Öppna fliken Resurser om du vill visa en lista över resurser.
Visa resursinformation på fliken Information .
SQL
Om du vill visa en lista över resurser kör du följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren. Alternativt kan du ersätta <pattern>
med ett LIKE
predikat.
SHOW SHARES [LIKE <pattern>];
Om du vill visa information om en specifik resurs kör du följande kommando.
DESCRIBE SHARE <share-name>;
Om du vill visa information om alla tabeller, vyer och volymer i en resurs kör du följande kommando.
SHOW ALL IN SHARE <share-name>;
CLI
Om du vill visa en lista över resurser kör du följande kommando med hjälp av Databricks CLI.
databricks shares list
Om du vill visa information om en specifik resurs kör du följande kommando.
databricks shares get <share-name>
Visa de mottagare som har behörighet för en resurs
Om du vill visa listan över resurser som en mottagare har beviljats åtkomst till kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller SHOW GRANTS TO RECIPIENT
SQL-kommandot i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren.
Behörigheter som krävs: Metaarkivadministratör, USE SHARE
behörighet eller resursobjektägare.
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig letar du upp och väljer mottagaren.
Gå till fliken Mottagare för att visa listan över mottagare som kan komma åt resursen.
SQL
Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren.
SHOW GRANTS ON SHARE <share-name>;
CLI
Kör följande kommando med hjälp av Databricks CLI.
databricks shares share-permissions <share-name>
Uppdatera resurser
Förutom att lägga till tabeller, vyer, volymer och notebook-filer till en resurs kan du:
- Byt namn på en resurs.
- Ta bort tabeller, vyer, volymer och scheman från en resurs.
- Lägga till eller uppdatera en kommentar på en resurs.
- Aktivera eller inaktivera åtkomst till en tabells historikdata, så att mottagarna kan köra frågor om tidsresor eller strömmande läsningar av tabellen.
- Lägg till, uppdatera eller ta bort partitionsdefinitioner.
- Ändra resursägaren.
Om du vill göra dessa uppdateringar av resurser kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller SQL-kommandon i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren. Du kan inte använda Katalogutforskaren för att byta namn på resursen.
Behörigheter som krävs: Om du vill uppdatera resursägaren måste du vara något av följande: en metaarkivadministratör, ägaren av resursobjektet eller en användare med både behörigheterna USE SHARE
och SET SHARE PERMISSION
. Om du vill uppdatera resursnamnet måste du vara metaarkivadministratör (eller användare med behörighet) CREATE_SHARE
och resursägare. Om du vill uppdatera andra resursegenskaper måste du vara ägare.
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig letar du reda på den resurs som du vill uppdatera och klickar på dess namn.
Gör följande på sidan dela information:
- Klicka på redigeringsikonen bredvid fältet Ägare eller Kommentar för att uppdatera dessa värden.
- Klicka på menyknappen för kebab i en tillgångsrad för att ta bort den.
- Klicka på Hantera tillgångar > Redigera tillgångar för att uppdatera alla andra egenskaper:
- Om du vill ta bort en tillgång avmarkerar du kryssrutan bredvid tillgången.
- Om du vill lägga till, uppdatera eller ta bort partitionsdefinitioner klickar du på Avancerade alternativ.
SQL
Kör följande kommandon i en notebook-fil eller Databricks SQL-redigeraren.
Byt namn på en resurs:
ALTER SHARE <share-name> RENAME TO <new-share-name>;
Ta bort tabeller från en resurs:
ALTER SHARE share_name REMOVE TABLE <table-name>;
Ta bort volymer från en resurs:
ALTER SHARE share_name REMOVE VOLUME <volume-name>;
Lägga till eller uppdatera en kommentar på en resurs:
COMMENT ON SHARE <share-name> IS '<comment>';
Lägga till eller ändra partitioner för en tabell i en resurs:
ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);
Ändra resursägare:
ALTER SHARE <share-name> OWNER TO '<principal>'
-- Principal must be an account-level user email address or group name.
Aktivera historikdelning för en tabell:
ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;
Mer information om ALTER SHARE
parametrar finns i ALTER SHARE.
CLI
Kör följande kommandon med hjälp av Databricks CLI.
Byt namn på en resurs:
databricks shares update <share-name> --name <new-share-name>
Ta bort tabeller från en resurs:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
Ta bort volymer från en resurs (med Databricks CLI 0.210 eller senare):
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
Kommentar
Använd egenskapen name
om det inte finns något alias för volymen. Använd string_shared_as
om det finns ett alias.
Lägga till eller uppdatera en kommentar på en resurs:
databricks shares update <share-name> --comment '<comment>'
Ändra resursägare:
databricks shares update <share-name> --owner '<principal>'
Huvudkontot måste vara en e-postadress eller gruppnamn på kontonivå.
Ta bort en resurs
Om du vill ta bort en resurs kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller DELETE SHARE
SQL-kommandot i en Azure Databricks-anteckningsbok eller Databricks SQL-frågeredigeraren. Du måste vara ägare till resursen.
När du tar bort en resurs kan mottagarna inte längre komma åt delade data.
Behörigheter som krävs: Dela objektägare.
Katalogutforskaren
På din Azure Databricks-arbetsyta klickar du på Katalog.
Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.
Du kan också klicka på > på sidan Snabbåtkomst.
På fliken Delat av mig letar du reda på den resurs som du vill ta bort och klickar på dess namn.
Klicka på menyn för kebab och välj Ta bort.
Klicka på Ta bort i bekräftelsedialogrutan.
SQL
Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren.
DROP SHARE [IF EXISTS] <share-name>;
CLI
Kör följande kommando med hjälp av Databricks CLI.
databricks shares delete <share-name>