Delta Delen

Van toepassing op:vinkje als ja aan Alleen Databricks SQL vinkje als ja aan Databricks Runtime 10.4 LTS en hoger vinkje als ja aan dan Unity Catalog

Delta Sharing is een open protocol voor het veilig delen van gegevens met andere organisaties, ongeacht welke computerplatforms ze gebruiken. Het kan verzamelingen van tabellen in een Unity Catalog-metastore in realtime delen zonder ze te kopiëren, zodat gegevensontvangers direct kunnen gaan werken met de nieuwste versie van de gedeelde gegevens.

Er zijn drie onderdelen voor Delta Sharing:

  • Providers

    Een provider is een entiteit die gegevens beschikbaar heeft gesteld voor delen.

  • Aandelen

    Een share definieert een logische groepering voor de tabellen die u wilt delen.

  • Geadresseerden

    Een ontvanger identificeert een organisatie waarmee u een willekeurig aantal shares wilt delen.

Zie Gegevens en AI-assets veilig delen met Behulp van Delta Sharing voor een gedetailleerde handleiding over het gebruik van Delta Sharing.

Providers

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

Een gegevensprovider is een object dat de organisatie in de echte wereld vertegenwoordigt die de gegevens deelt. Een provider bevat shares die de gedeelde gegevens verder bevatten. Zodra een provider u heeft toegevoegd als geadresseerden , kunt u

Voorbeelden

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

Shares

Een share is een container die wordt geïnstantieerd met de opdracht CREATE SHARE . Zodra u het hebt gemaakt, kunt u een verzameling bestaande tabellen die in de metastore zijn gedefinieerd, iteratief registreren met behulp van de opdracht ALTER SHARE . U kunt tabellen registreren onder de oorspronkelijke naam, gekwalificeerd door het oorspronkelijke schema of alternatieve beschikbaar gemaakte namen opgeven.

U moet een metastore-beheerder of accountbeheerder zijn om shares te maken, te wijzigen en neer te zetten.

Voorbeelden

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

Geadresseerden

Een ontvanger is een object dat u maakt met CREATE RECIPIENT om een organisatie te vertegenwoordigen die u toegangsshares wilt toestaan. Wanneer u een ontvanger van Databricks SQL maakt, wordt er een activeringskoppeling gegenereerd die u naar de organisatie kunt verzenden. Als u de activeringskoppeling wilt ophalen na het maken, gebruikt u DESCRIBE RECIPIENT.

Zodra een ontvanger is gemaakt, kunt u deze SELECT bevoegdheden geven voor shares van uw keuze met GRANT ON SHARE.

U moet een metastore-beheerder zijn om geadresseerden te maken, geadresseerden te verwijderen en toegang te verlenen tot shares.

Voorbeelden

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