Delta Sharing
Gilt für: Databricks SQL Databricks Runtime 10.4 LTS und höher Nur Unity Catalog
Delta Sharing ist ein offenes Protokoll für die sichere Datenfreigabe für andere Organisationen, und zwar unabhängig von den verwendeten Computingplattformen. Damit können Sie Tabellensammlungen in einem Unity Catalog-Metastore in Echtzeit freigeben, ohne sie zu kopieren, sodass Datenempfänger sofort mit der neuesten Version der freigegebenen Daten arbeiten können.
Delta Sharing besteht aus drei Komponenten:
-
Ein Anbieter ist eine Entität, die Daten für die Freigabe zur Verfügung gestellt hat.
-
Eine Freigabe stellt eine logische Gruppierung für die Tabellen bereit, die Sie freigeben möchten.
-
Ein Empfänger gibt eine Organisation an, für die Sie eine beliebige Anzahl von Freigaben freigeben möchten.
Einen ausführlichen Leitfaden zur Verwendung von Delta Sharing finden Sie unter Was ist Delta Sharing?.
Anbieter
Gilt für: Databricks SQL Databricks Runtime 11.3 LTS und höher
Ein Datenanbieter ist ein Objekt, das die Organisation in der Realität repräsentiert, die die Daten freigibt. Ein Anbieter enthält Freigaben, die wiederum die freigegebenen Daten enthalten. Sobald ein Anbieter Sie als Empfänger hinzugefügt hat, können Sie
- den lokalen Namen des Anbieters mithilfe von ALTER PROVIDER anpassen.
- die Datensätze auflisten, die für Sie mit SHOW SHARES IN PROVIDER freigegeben wurden.
- einen Katalog mit interessanten Freigaben für Sie mit CREATE CATALOG erstellen.
Beispiele
-- 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
Verwandte Artikel
- DESCRIBE PROVIDER
- ALTER PROVIDER
- DROP PROVIDER
- SHOW PROVIDERS
- COMMENT ON PROVIDER
- SHOW SHARES IN PROVIDER
- CREATE CATALOG
- Was ist Delta Sharing?
Freigaben
Eine Freigabe ist ein Container, der mit dem Befehl CREATE SHARE instanziiert wird. Nach dem Erstellen können Sie eine Sammlung vorhandener und im Metastore definierter Tabellen mit dem Befehl ALTER SHARE iterativ registrieren. Sie können Tabellen unter ihrem ursprünglichen Namen registrieren (qualifiziert durch das ursprüngliche Schema) oder alternative verfügbar gemachte Namen angeben.
Sie müssen ein Metastore- oder Kontoadministrator sein, um Freigaben erstellen, ändern und löschen zu können.
Beispiele
-- 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)
Verwandte Artikel
- Ändern des Datenfeeds
- CREATE SHARE
- DESCRIBE SHARE
- ALTER SHARE
- DROP SHARE
- SHOW SHARES
- SHOW ALL IN SHARE
- COMMENT ON SHARE
- Was ist Delta Sharing?
Empfänger
Ein Empfänger (Recipient) ist ein Objekt, das Sie mit CREATE RECIPIENT erstellen und das eine Organisation repräsentiert, der Sie den Zugriff auf die Freigaben gewähren möchten. Beim Erstellen eines Empfängers generiert Databricks SQL einen Aktivierungslink, den Sie an die Organisation senden können. Um den Aktivierungslink nach der Erstellung abzurufen, verwenden Sie den Befehl DESCRIBE RECIPIENT.
Nachdem ein Empfänger erstellt wurde, können Sie ihm mit GRANT ON SHAREdie Berechtigung SELECT
für Freigaben Ihrer Wahl erteilen.
Sie müssen ein Metastore-Administrator sein, um Empfänger erstellen und löschen sowie den Zugriff auf Freigaben gewähren zu können.
Beispiele
-- 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;