Dela via


Skapa och hantera andelar för Delta Sharing

Den här artikeln beskriver hur du skapar och hanterar andelar 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
  • Anteckningsböcker
  • 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

För att skapa en delning 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 delningen med hjälp av en Azure Databricks-arbetsyta där Unity Catalog-metaarkivet har kopplats.

För att lägga till tabeller eller vyer i en delning måste du:

  • Var andelsägare.
  • Ha behörigheten USE CATALOG och USE SCHEMA för katalogen och schemat som innehåller tabellen eller vyn, eller ägarskapet för katalogen eller schemat.
  • Ha SELECT behörighet för 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 genom delningen. Databricks rekommenderar därför att du använder en grupp som resursägare.

Om du vill lägga till volymer i en delning måste du:

  • Var aktieägare.
  • Ha behörigheten USE CATALOG och USE 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 delningen. Databricks rekommenderar därför att du använder en grupp som delningsägare.

Om du vill lägga till modeller i en delning måste du:

  • Var aktieägare.
  • Ha behörigheten USE CATALOG och USE SCHEMA för katalogen och schemat som innehåller modellen eller ägarskapet för katalogen eller schemat.
  • Ha EXECUTE-privilegiet på 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 delningen. Databricks rekommenderar därför att du använder en grupp som delägaransvarig.

Om du vill dela ett helt schema måste du:

  • Vara andelsä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 delad resurs måste du vara:

  • Ägaren av andelen har behörigheten KAN LÄSA i den 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).

För att visa delningar 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 delningsobjektet

Beräkningskrav:

  • Om du använder en Databricks notebook för att skapa delningen måste din beräkningsresurs använda Databricks Runtime 11.3 LTS eller senare och ha ett standard- eller dedikerat åtkomstläge (tidigare delat och engångsanvändarläge).
  • 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 Catalog Explorer har inga beräkningskrav.

Skapa ett delningsobjekt

Om du vill skapa en delning 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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.

    Alternativt, från sidan Snabbåtkomst, klicka på knappen Delta Sharing >.

  3. På fliken Delat av mig klickar du på knappen Dela data .

  4. På sidan Skapa resurs anger du resursnamnet och en valfri kommentar.

  5. 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.

  6. På fliken Lägg till datatillgångar väljer du de tabeller, volymer, vyer och modeller som du vill dela.

    Detaljerade instruktioner finns i:

  7. Klicka på Spara och fortsätt.

  8. 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 delning.

  9. Klicka på Spara och fortsätt.

  10. 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).

  11. 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:

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 delning

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

Tabellkommentarer, kolumnkommentarer 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 CATALOGUSE 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 och USE CATALOG behörighet för schemat och katalogen som innehåller tabellen från arbetsytans administratörsgrupp kan du inte lägga till tabellen i en delning. Du måste först ge dig själv behörigheterna USE SCHEMA och USE CATALOG för schemat och katalogen.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.

    Alternativt kan du på sidan Snabbåtkomst klicka på knappen Delta Sharing >.

  3. 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.

  4. Klicka på Hantera tillgångar > Lägg till datatillgångar.

  5. 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.

  6. History: Dela tabellhistoriken så att mottagarna kan köra tidsresefrågor eller läsa tabellen med Spark Structured Streaming. För Databricks-till-Databricks-delningar delas 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 table_changes() funktionen, måste du aktivera CDF på tabellen innan du delar den WITH HISTORY.

  7. (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.

  8. 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.

  • 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 eller WITHOUT HISTORY: När WITH 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-resurser delar historikdelning också tabellens Delta-logg för att förbättra prestandan. Standardbeteendet för tabelldelning är WITH HISTORY om din beräkning kör Databricks Runtime 16.2 eller senare och WITHOUT HISTORY för tidigare Databricks Runtime-versioner. För schemadelning är standardvärdet WITH HISTORY oavsett Databricks Runtime-version. WITH HISTORY och WITHOUT HISTORY kräver Databricks Runtime 12.2 LTS eller senare. Se även Förbättra tabellläsningsprestanda med historikdelning.

    Kommentar

    Om du, förutom att göra tidsresefrågor och läsa direktuppspelningar, vill att dina kunder ska kunna köra frågor mot en tabells ändringsdataflöde (CDF) med hjälp av table_changes()-funktionen, måste du aktivera CDF på tabellen innan du delar den WITH HISTORY.

Mer information om ALTER SHARE-alternativen 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.

För att lära sig mer om ytterligare parametrar, kör databricks shares update --help eller se 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, monthoch 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-metakatalogen 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 mottagares egenskaper kan du dela samma tabeller med samma delning över flera Databricks-konton, arbetsytor och användare, samtidigt som du upprätthåller datagränserna mellan dem.

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 dynamiskt levererar Delta Sharing endast de data som är associerade med varje mottagares Azure Databricks-konto.

Diagram över parameterbaserad dynamisk partitionsdelning i Deltadelning

Utan möjligheten att dynamiskt dela upp efter egenskaper måste du skapa en separat delning 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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i Katalogfönstret klickar du på kugghjulsikonen och väljer Deltadelning.

    Alternativt, från Snabbåtkomstsidan, klicka på knappen Delta Sharing >.

  3. På fliken Delat av mig letar du reda på den resurs som du vill uppdatera och klickar på dess namn.

  4. Klicka på Hantera tillgångar > Lägg till datatillgångar.

  5. 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.

  6. (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')
    
  7. 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 delning

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 ta bort kolumner med Delta Lake-kolumnmappning.

Om du vill dela en tabell med borttagningsvektorer eller kolumnmappning måste du dela den med historiken. Se Lägg till tabeller i en delning.

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, en beräkning som kör Databricks Runtime 14.1 eller senare eller beräkning som kör ö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 delning

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Vyer är skrivskyddade objekt som skapats från en eller flera olika 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 delningsobjektet, USE CATALOG och USE SCHEMA på katalogen och schemat som innehåller vyn och SELECT på vyn. Du måste upprätthå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 DLT- 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 en datorresurs på Databricks Runtime version 13.3 LTS eller senare när du lägger till en vy i en delning.
  • Krav och begränsningar för mottagarens användning av vyer finns i Läsa delade vyer.

Lägg till vyer i en delning:

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.

    Alternativt kan du på sidan Snabbåtkomst klicka på knappen Delta Sharing>.

  3. 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.

  4. Klicka på Hantera tillgångar > Lägg till datatillgångar.

  5. På sidan Lägg till tabeller söker eller bläddrar du efter den vy som du vill dela och väljer den.

  6. (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.

  7. 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-alternativen finns i ALTER SHARE.

Kommandoradsgränssnitt (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>.

För att lära dig om ytterligare parametrar, kör databricks shares update --help eller se 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ägger till dynamiska vyer i en delning 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 och USE SCHEMA i katalogen och schemat som innehåller vyn, tillsammans med SELECT i vyn. Du måste bibehålla behörigheten SELECT så länge du vill dela visningen.
    • Om du vill ange egenskaper för en mottagare måste du vara ägare till mottagarobjektet.
  • 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 leverantören dela vyn med sig själv och köra en fråga mot vyn som mottagare.
    • Leverantörer kan inte skapa en vy som refererar till en dynamisk vy.

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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i fönsterrutan för Katalog klickar du på kugghjulsikonen och väljer Delta Sharing.

    Alternativt, från sidan Snabbåtkomst, klicka på knappen Delta Sharing >.

  3. På fliken Mottagare letar du reda på den mottagare som du vill lägga till egenskaperna i och klickar på dess namn.

  4. Klicka på Redigera egenskaper.

  5. 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 exempel CA).

  6. 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å countryCA.

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 delning.

Lägg till volymer i en delning

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

Volymkommentarer ingår i andelar som delas med en mottagare via Databricks-till-Databricks-delning från och med den 25 juli 2024. 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 dela objektet, USE CATALOG och USE SCHEMA på 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 en beräkningsresurs på Databricks Runtime 14.1 eller senare när du lägger till en volym till en delning.
  • 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.

För att lägga till volymer till en delning:

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i Katalog-fönstret klickar du på kugghjulsikonen och väljer Deltadelning.

    Alternativt kan du från sidan för Snabbåtkomst klicka på knappen Delta Sharing >.

  3. 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.

  4. Klicka på Hantera tillgångar > Redigera tillgångar.

  5. 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 delning.

  6. (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.

  7. 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-alternativen 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 sökfrågor. Mottagarna kan inte använda det faktiska volymnamnet om ett alias har angetts. Använd formatet <schema-name>.<volume-name>.

För att läsa mer om ytterligare parametrar, kör databricks shares update --help eller se 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 delning

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.

Anteckning

Modellkommentarer och modellversionskommentarer ingår i andelar som delas med Databricks-till-Databricks-delning.

Behörigheter som krävs: Ägare av delningsobjektet, USE CATALOG och USE SCHEMA på katalogen och schemat som innehåller modellen, och EXECUTE på 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 en beräkningsresurs på Databricks Runtime 14.0 eller senare när du lägger till en modell i en resurs.

För att lägga till modeller i en delning:

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.

    Alternativt kan du från sidan Snabbåtkomst klicka på knappen Delta Sharing >.

  3. 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.

  4. Klicka på Hantera tillgångar > Redigera tillgångar.

  5. 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ägg till scheman i en delning.

  6. (Valfritt) Klicka på Avancerade alternativ för att ange ett alternativt modellnamn, eller Alias, för att göra modellnamnet mer läsbart.

    Aliaser ä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.

  7. 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-alternativen 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>.

För att läsa mer om ytterligare parametrar, kör databricks shares update --help eller se 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 delning

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 kräver inga beräkningar.

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 anteckningsboksfiler till en delning

Använd Katalogutforskaren för att lägga till en notebook-fil i en delning.

Behörigheter som krävs: Ägare av delningsobjektet och behörighet att läsa den anteckningsbok du vill dela.

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.
  2. På sidan Snabbåtkomst klickar du på knappen Delta Delning >.
  3. 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.
  4. Klicka på Hantera tillgångar och välj Lägg till notebook-fil.
  5. 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 underordnad sökväg 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.
  6. Klicka på Spara.

Den delade notebook-filen visas nu i listan Notebook-filer på fliken Tillgångar .

Ta bort notebook-filer från delningar

Så här tar du bort en anteckningsboksfil från en delning:

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.

    Alternativt, från sidan Snabb åtkomst, klicka på knappen Delta Sharing>.

  3. På fliken Delat av mig letar du reda på resursen som innehåller anteckningsboken och klickar på resursnamnet.

  4. På fliken Tillgångar letar du reda på den notebook-fil som du vill ta bort från resursen.

  5. Klicka på Kebabmenyn till höger om raden och välj Ta bort anteckningsboksfil.

  6. Klicka på Ta bort i bekräftelsedialogrutan.

Uppdatera anteckningsboksfiler i delningar

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 anteckningsboken för att kunna dra nytta av uppdateringen.

Bevilja mottagare åtkomst till en delning

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:

  • Metastore-administratö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 se de aktier som du är aktieobjektägare för.

Information som ingår:

  • Resursens ägare, skapare, tidsstämpel för skapande, uppdatering, uppdaterad tidsstämpel, kommentarer.
  • Datatillgångar i delningen.
  • Mottagare med åtkomst till delningen.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Deltadelning.

    Alternativt, från Snabbåtkomst-sidan, klicka på knappen Delta Sharing >.

  3. Öppna fliken Resurser om du vill visa en lista över resurser.

  4. Visa delningsdetaljer på fliken Detaljer.

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 delning

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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Delta Sharing.

    Alternativt, från sidan Snabbåtkomst, klicka på knappen Delta Sharing >.

  3. På fliken Delat av mig letar du upp och väljer mottagaren.

  4. 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>;

Kommandoradsgränssnitt (CLI)

Kör följande kommando med hjälp av Databricks CLI.

databricks shares share-permissions <share-name>

Uppdatera aktier

Förutom att lägga till tabeller, vyer, volymer och anteckningsböcker till en delning 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 delning.
  • 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 aktieägaren.

Om du vill göra dessa uppdateringar av andelar kan du använda Catalog Explorer, Databricks Unity Catalog CLI, eller genom att använda 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_SHAREoch resursägare. Om du vill uppdatera andra delningsegenskaper måste du vara ägare.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Högst upp i fönstret Katalog klickar du på kugghjulsikonen och väljer Delta Sharing.

    Alternativt, från sidan Snabbåtkomst, klicka på knappen Delta Sharing >.

  3. 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 Ikonen Redigera bredvid fältet Ägare eller Kommentar för att uppdatera dessa värden.
  • Klicka på knappen Kebabmeny Kebabmenyn 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 delning:

ALTER SHARE share_name REMOVE VOLUME <volume-name>;

Lägg till eller uppdatera en kommentar på en delning:

COMMENT ON SHARE <share-name> IS '<comment>';

Lägg till eller ändra partitioner för en tabell i en delning:

ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);

Ändra aktieä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.

Kommando-radsgränssnitt (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>"
        }
      }
    ]
  }'

Anteckning

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ägg till eller uppdatera en kommentar på en delning:

databricks shares update <share-name> --comment '<comment>'

Ändra andelsägare:

databricks  shares update <share-name> --owner '<principal>'

Huvudkontot måste vara en e-postadress eller gruppnamn på kontonivå.

Ta bort en delning

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 andelen.

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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.

  2. Längst upp i fönstret Katalog, klicka på kugghjulsikonen och välj Deltadelning.

    Alternativt, från sidan Snabb åtkomst, klicka på knappen Delta Sharing>.

  3. På fliken Delat av mig letar du reda på den resurs som du vill ta bort och klickar på dess namn.

  4. Klicka på Menyn Kebab menyn för kebab och välj Ta bort.

  5. 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>