Sdílet prostřednictvím


Rozdílové sdílení

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 10.4 LTS a vyšší zaškrtnutí označeného ano pouze katalog Unity

Delta Sharing je otevřený protokol pro zabezpečené sdílení dat s jinými organizacemi bez ohledu na to, které výpočetní platformy používají. Může sdílet kolekce tabulek v metastore katalogu Unity v reálném čase bez jejich kopírování, aby příjemci dat mohli okamžitě začít pracovat s nejnovější verzí sdílených dat.

Existují tři komponenty pro rozdílové sdílení:

  • Poskytovatelé

    Zprostředkovatel je entita, která zpřístupnila data ke sdílení.

  • Sdílí

    Sdílená složka definuje logické seskupení pro tabulky, které chcete sdílet.

  • Příjemci

    Příjemce identifikuje organizaci, se kterou chcete sdílet libovolný počet sdílených složek.

Podrobný průvodce používáním rozdílového sdílení najdete v tématu Co je rozdílové sdílení?.

Poskytovatelé

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 11.3 LTS a vyšší

Zprostředkovatel dat je objekt představující organizaci v reálném světě, který data sdílí. Poskytovatel obsahuje sdílené složky, které dále obsahují sdílená data. Jakmile vás poskytovatel přidá jako příjemce , můžete

Příklady

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

Sdílení

Sdílená složka je instance kontejneru pomocí příkazu CREATE SHARE . Po vytvoření můžete pomocí příkazu ALTER SHARE iterativní zaregistrovat kolekci existujících tabulek definovaných v rámci metastoru. Tabulky můžete zaregistrovat pod jejich původním názvem, kvalifikovaným jejich původním schématem nebo zadat alternativní vystavené názvy.

Abyste mohli vytvářet, měnit a odstraňovat sdílené složky, musíte být správcem metastoru nebo správcem účtu.

Příklady

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

Příjemci

Příjemce je objekt, který vytvoříte pomocí příkazu CREATE RECIPIENT , který představuje organizaci, kterou chcete povolit přístup ke sdíleným složkám. Když vytvoříte příjemce Databricks SQL, vygeneruje aktivační odkaz, který můžete odeslat do organizace. Chcete-li po vytvoření načíst aktivační odkaz, použijte funkci DESCRIBE RECIPIENT.

Jakmile je příjemce vytvořen, můžete mu SELECT udělit oprávnění ke sdíleným složkám podle vašeho výběru pomocí funkce GRANT ON SHARE.

Abyste mohli vytvářet příjemce, odstraňovat příjemce a udělovat přístup ke sdíleným složkám, musíte být správcem metastoru.

Příklady

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