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 och USE 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 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 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 och USE 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 enanvändarkluster.
  • 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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.
  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.
  3. Klicka på Dela data.
  4. Ange resursnamnet och en valfri kommentar.

SQL

Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren:

CREATE SHARE [IF NOT EXISTS] <share-name>
[COMMENT "<comment>"];

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.

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.

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

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

  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.

  3. På fliken Resurser 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. (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.

    • Historikdelning: Dela tabellhistoriken så att mottagarna kan köra frågor om tidsresor eller läsa tabellen med Spark Structured Streaming. 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 funktionen table_changes() måste du aktivera CDF i tabellen innan du delar den WITH HISTORY.

  7. 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 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. Standardbeteendet för tabelldelning är WITHOUT HISTORY och för schemadelning är WITH 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 funktionen table_changes() måste du aktivera CDF i tabellen innan du delar den 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 --helpi 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-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.

Diagram över parameterbaserad dynamisk partitionsdelning i Deltadelning

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

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

  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.

  3. På fliken Resurser 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>))
    

    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>);

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 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 CATALOGUSE 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:

  • Vydelning stöds endast i Databricks-till-Databricks-delning.
  • Delningsbara vyer måste definieras i Delta-tabeller eller andra delade vyer.
  • 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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.
  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.
  3. På fliken Resurser 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 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 --helpi 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 och USE SCHEMA i katalogen och schemat som innehåller vyn, tillsammans med SELECT i vyn. Du måste behålla behörigheten SELECT så länge du vill dela vyn.
    • 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 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.

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. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.
  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 resurs.

Lägga till volymer i en resurs

Viktigt!

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

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 Skapa och arbeta med 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.

Behörigheter som krävs: Ägare av resursobjektet, USE CATALOGUSE 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.

Så här lägger du till volymer i en resurs:

Katalogutforskaren

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

  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.

  3. På fliken Resurser 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 resurs.

  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 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 --helpi 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

Viktigt!

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

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.

Behörigheter som krävs: Ägare av resursobjektet, USE CATALOGUSE 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

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

  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.

  3. På fliken Resurser 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ägga till scheman i en resurs.

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

  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 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 --helpi 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

Viktigt!

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

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.

Kommentar

Om du vill dela notebook-filer måste metaarkivet ha lagring på metaarkivnivå.

Behörigheter som krävs: Ägare av resursobjektet och KAN LÄSA-behörighet för den notebook-fil som du vill dela.

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

  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.

  3. På fliken Resurser letar du reda på den resurs som du vill lägga till en notebook-fil 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.

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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.
  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.
  3. På fliken Resurser 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. Menyn Kebab Klicka på menyn för kebab (kallas även menyn med tre punkter) till höger om raden och välj Ta bort notebook-fil.
  6. 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 Bevilja och 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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.
  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.
  3. Öppna fliken Resurser om du vill visa en lista över resurser.
  4. 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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.
  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.
  3. På fliken Resurser 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>;

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_SHAREoch resursägare. Om du vill uppdatera andra resursegenskaper måste du vara ägare.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.
  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.
  3. På fliken Resurser letar du reda på den resurs som du vill uppdatera och klickar på dess namn.

På sidan dela information kan du göra följande:

  • Klicka på redigeringsikonen Ikonen Redigera bredvid fältet Ägare eller Kommentar för att uppdatera dessa värden.
  • Klicka på den lodräta ellipsknappen Lodrät ellips på 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

  1. På din Azure Databricks-arbetsyta klickar du på KatalogikonKatalog.
  2. Expandera deltadelningsmenyn i den vänstra rutan och välj Delat av mig.
  3. På fliken Resurser 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 (kallas även menyn med tre punkter) 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>