Udostępnij za pośrednictwem


Udostępnianie różnicowe

Dotyczy:zaznaczono jako takSQL databricks zaznaczono jako tak Databricks Runtime 10.4 LTS i nowsze zaznaczono jako tak tylko katalog Unity

Udostępnianie różnicowe to otwarty protokół umożliwiający bezpieczne udostępnianie danych innym organizacjom niezależnie od używanych platform obliczeniowych. Może dzielić się kolekcjami tabel w metastore katalogu Unity w czasie rzeczywistym bez ich kopiowania, dzięki czemu adresaci danych mogą natychmiast pracować z najnowszą wersją udostępnionych danych.

Udostępnianie różnicowe obejmuje trzy składniki:

  • dostawcy

    Dostawca to jednostka, która udostępniła dane do udostępniania.

  • Udziały

    Udział definiuje grupowanie logiczne dla tabel, które mają być udostępniane.

  • adresatów

    Odbiorca identyfikuje organizację, z którą chcesz udostępnić dowolną liczbę udziałów.

Aby uzyskać szczegółowy przewodnik dotyczący korzystania z udostępniania różnicowego, zobacz Co to jest udostępnianie różnicowe?.

Dostawców

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 11.3 LTS i nowsze

Dostawca danych to obiekt reprezentujący organizację w świecie rzeczywistym, który udostępnia dane. Dostawca zawiera udziały, które dodatkowo zawierają dane udostępnione. Po tym jak dostawca doda cię jako adresata możesz

Przykłady

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

Akcje

Udział to kontener tworzony przy użyciu polecenia CREATE SHARE. Po utworzeniu można iteracyjnie zarejestrować kolekcję istniejących tabel zdefiniowanych w magazynie metadanych przy użyciu polecenia ALTER SHARE. Tabele można zarejestrować pod oryginalną nazwą, poprzedzoną ich oryginalnym schematem, lub podać alternatywne nazwy wyświetlane.

Aby tworzyć, zmieniać i usuwać udziały, musisz być administratorem magazynu metadanych lub administratorem konta.

Przykłady

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

Adresatów

Adresat jest obiektem, który tworzysz za pomocą CREATE RECIPIENT, aby reprezentować organizację, której chcesz umożliwić dostęp do udziałów. Po utworzeniu adresata usługa Databricks SQL generuje link aktywacji, który można wysłać do organizacji. Aby pobrać link aktywacji po utworzeniu, użyj DESCRIBE RECIPIENT.

Po utworzeniu adresata możesz nadać mu SELECT uprawnienia w wybranych udziałach za pomocą GRANT ON SHARE.

Aby tworzyć adresatów, usuwać adresatów i udzielać dostępu do udziałów, musisz być administratorem magazynu metadanych.

Przykłady

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