Delta-megosztás

A következőkre vonatkozik:jelölve, hogy igen Databricks SQL jelölve, hogy igen Databricks Runtime 10.4 LTS és újabb jelölve, hogy igen csak Unity Catalog

A Delta Sharing egy nyílt protokoll a más szervezetekkel való adatmegosztáshoz, függetlenül attól, hogy melyik számítási platformot használják. A Unity Catalog metaadattárában lévő táblázatgyűjteményeket valós időben oszthatja meg másolás nélkül, így az adat címzettjei azonnal megkezdhetik a közös adatok legújabb verziójának használatát.

A Delta Sharing három összetevőből áll:

  • szolgáltatók

    A szolgáltató olyan entitás, amely adatokat tett elérhetővé megosztásra.

  • Megosztások

    A megosztás logikai csoportosítást határoz meg a megosztani kívánt táblákhoz.

  • címzettek

    A címzett azonosítja azt a szervezetet, amellyel bármilyen számú megosztást meg szeretne osztani.

Részletes útmutató a Delta-megosztás használatáról: Mi az a deltamegosztás?.

Szolgáltatók

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 11.3 LTS és újabb

Az adatszolgáltató egy olyan objektum, amely az adatokat megosztó szervezetet képviseli a valós világban. A szolgáltató olyan megosztásokat tartalmaz, amelyek tovább tartalmazzák a megosztott adatokat. Miután egy szolgáltató felvette Önt Címzettek, Ön tudja...

  • A szolgáltató helyi nevének testreszabása a ALTER PROVIDERhasználatával.
  • A SHOW SHARES IN PROVIDERönnel megosztott adatkészletek listája.
  • Hozzon létre egy katalógust az Ön érdeklődésére számot tartó részesedések felhasználásával CREATE CATALOG.

Példák

-- 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 SHARE cdc.vaccinedata;

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

Részvények

Egy megosztás egy olyan tároló, amely a CREATE SHARE paranccsal van példányosítva. A létrehozás után a ALTER SHARE paranccsal iteratív módon regisztrálhatja a metaadattárban definiált meglévő táblák gyűjteményét. A táblákat az eredeti nevük alatt regisztrálhatja, az eredeti sémájuk szerint minősítheti, vagy alternatív közzétett neveket adhat meg.

A megosztások létrehozásához, módosításához és elvetéséhez metaadattár-rendszergazdának vagy fiókadminisztrátornak kell lennie.

Példák

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

Címzettek

A címzett egy olyan objektum, amelyet a CREATE RECIPIENT használatával hoz létre, hogy egy olyan szervezetet jelöljön, amely számára engedélyezni szeretné a hozzáférési megosztásokat. Amikor létrehoz egy címzettet, a Databricks SQL egy aktiválási hivatkozást generál, amelyet elküldhet a szervezetnek. Az aktiválási hivatkozás lekéréséhez a létrehozás után használja a DESCRIBE RECIPIENT-t.

Miután létrehozott egy címzettet, SELECT jogosultságokat adhat neki a választott megosztásokhoz a GRANT ON SHAREhasználatával.

A címzettek létrehozásához, a címzettek elvetéséhez és a megosztásokhoz való hozzáférés biztosításához metaadattár-rendszergazdának kell lennie.

Példák

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