Dela via


Deltadelning

Gäller endast för:markerad ja Databricks SQL markerad ja Databricks Runtime 10.4 LTS och senare markerad ja i Unity Catalog

Deltadelning är ett öppet protokoll för säker datadelning med andra organisationer oavsett vilka beräkningsplattformar de använder. Den kan dela samlingar med tabeller i ett Unity Catalog-metaarkiv i realtid utan att kopiera dem, så att datamottagare omedelbart kan börja arbeta med den senaste versionen av delade data.

Det finns tre komponenter i Deltadelning:

  • Providers

    En provider är en entitet som har gjort data tillgängliga för delning.

  • Aktier

    En resurs definierar en logisk gruppering för de tabeller som du tänker dela.

  • Mottagare

    En mottagare identifierar en organisation som du vill dela valfritt antal resurser med.

En detaljerad guide om hur du använder Deltadelning finns i Dela data och AI-tillgångar på ett säkert sätt med deltadelning.

Providers

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 11.3 LTS och senare

En dataprovider är ett objekt som representerar organisationen i den verkliga världen som delar data. En provider innehåller resurser som ytterligare innehåller delade data. När en provider har lagt till dig som mottagare kan du

Exempel

-- Change the data provider name locally.
> ALTER PROVIDER `Center for Disease Control` RENAME TO cdc;

-- List the shares the provider has granted you access too.
> SHOW SHARES IN PROVIDER cdc;
 vaccinedata

-- Make the share accessible locally as a catalog.
> CREATE CATALOG cdcdata USING cdc.vaccinedata;

-- Use the data.
> USE CATALOG cdcdata;
> SELECT COUNT(*) FROM information_schema.tables;
  10

Delningar

En resurs är en container som instansieras med kommandot CREATE SHARE . När du har skapat kan du iterativt registrera en samling befintliga tabeller som definierats i metaarkivet med kommandot ALTER SHARE . Du kan registrera tabeller under deras ursprungliga namn, kvalificeras enligt deras ursprungliga schema eller ange alternativa exponerade namn.

Du måste vara administratör för metaarkiv eller kontoadministratör för att kunna skapa, ändra och släppa resurser.

Exempel

-- Create share `customer_share` only if share with same name doesn't exist, with a comment.
> CREATE SHARE IF NOT EXISTS customer_share COMMENT 'This is customer share';

-- Add 2 tables to the share.
-- Expose my_schema.tab1 a different name.
-- Expose only two partitions of other_schema.tab2
> ALTER SHARE customer_share ADD TABLE my_schema.tab1 AS their_schema.tab1;
> ALTER SHARE customer_share ADD TABLE other_schema.tab2 PARTITION (c1 = 5), (c1 = 7);

-- List the content of the share
> SHOW ALL IN SHARE customer_share;
  name              type  shared_object           added_at                     added_by                   comment partitions
  ----------------- ----  ---------------------- ---------------------------- -------------------------- ------- -----------------
  other_schema.tab2 TABLE main.other_schema.tab2 2022-01-01T00:00:01.000+0000 alwaysworks@databricks.com NULL
  their_schema.tab1 TABLE main.myschema.tab2     2022-01-01T00:00:00.000+0000 alwaysworks@databricks.com NULL   (c1 = 5), (c1 = 7)

Mottagare

En mottagare är ett objekt som du skapar med CREATE RECIPIENT för att representera en organisation som du vill tillåta åtkomstresurser. När du skapar en mottagare genererar Databricks SQL en aktiveringslänk som du kan skicka till organisationen. Om du vill hämta aktiveringslänken när du har skapat den använder du BESKRIV MOTTAGARE.

När en mottagare har skapats kan du ge den SELECT behörighet på valfria resurser med hjälp av GRANT ON SHARE.

Du måste vara metaarkivadministratör för att skapa mottagare, ta bort mottagare och bevilja åtkomst till resurser.

Exempel

-- Create a recipient.
> CREATE RECIPIENT IF NOT EXISTS other_org COMMENT 'other.org';

-- Retrieve the activation link to send to other.org
> DESCRIBE RECIPIENT other_org;
  name      created_at                   created_by                 comment   activation_link active_token_id                      active_token_expiration_time rotated_token_id rotated_token_expiration_time
  --------- ---------------------------- -------------------------- --------- --------------- ------------------------------------ ---------------------------- ---------------- -----------------------------
  other_org 2022-01-01T00:00:00.000+0000 alwaysworks@databricks.com other.org https://....    0160c81f-5262-40bb-9b03-3ee12e6d98d7 9999-12-31T23:59:59.999+0000 NULL              NULL

-- Choose shares that other.org has access to
> GRANT SELECT ON SHARE customer_share TO RECIPIENT other_org;