مشاركة دلتا

ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime 10.4 LTS وما فوق وضع علامة كتالوج Unity فقط

تعد Delta Sharing بروتوكولا مفتوحا لمشاركة البيانات الآمنة مع المؤسسات الأخرى بغض النظر عن الأنظمة الأساسية للحوسبة التي تستخدمها. يمكنه مشاركة مجموعات من الجداول في مخزن بيانات تعريف كتالوج Unity في الوقت الفعلي دون نسخها، بحيث يمكن لمستلمي البيانات البدء فورا في العمل مع أحدث إصدار من البيانات المشتركة.

هناك ثلاثة مكونات لمشاركة دلتا:

  • الموفرون

    الموفر هو كيان جعل البيانات متاحة للمشاركة.

  • الاسهم

    تحدد المشاركة تجميعا منطقيا للجداول التي تنوي مشاركتها.

  • المستلمين

    يعرف المستلم المؤسسة التي تريد مشاركة أي عدد من المشاركات معها.

للحصول على دليل مفصل حول كيفية استخدام Delta Sharing، راجع مشاركة البيانات والأصول الذكاء الاصطناعي بأمان باستخدام Delta Sharing.

الموفرون

ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime 11.3 LTS وما فوق

موفر البيانات هو كائن يمثل المؤسسة في العالم الحقيقي الذي يشارك البيانات. يحتوي الموفر على مشاركات تحتوي أيضا على البيانات المشتركة. بمجرد أن يضيفك أحد الموفرين كمستلمين، يمكنك

  • تخصيص الاسم المحلي للموفر باستخدام ALTER PROVIDER.
  • سرد مجموعات البيانات المشتركة معك مع SHOW SHARES IN PROVIDER.
  • إنشاء كتالوج باستخدام مشاركات تهمك باستخدام CREATE CATALOG.

الأمثلة

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

المشاركات

المشاركة هي حاوية تم إنشاء مثيل لها باستخدام الأمر CREATE SHARE . بمجرد الإنشاء، يمكنك تسجيل مجموعة من الجداول الموجودة المعرفة داخل metastore بشكل متكرر باستخدام الأمر ALTER SHARE . يمكنك تسجيل الجداول باسمها الأصلي، أو مؤهلة بواسطة مخططها الأصلي، أو توفير أسماء بديلة مكشوفة.

يجب أن تكون مسؤول metastore أو مسؤول حساب لإنشاء المشاركات وتغييرها وإسقاطها.

الأمثلة

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

المستلمون

المستلم هو كائن تقوم بإنشائه باستخدام CREATE RECIPIENT لتمثيل مؤسسة تريد السماح بمشاركات الوصول إليها. عند إنشاء مستلم يقوم Databricks SQL بإنشاء ارتباط تنشيط يمكنك إرساله إلى المؤسسة. لاسترداد ارتباط التنشيط بعد الإنشاء، استخدم وصف المستلم.

بمجرد إنشاء مستلم، يمكنك منحه امتيازات على المشاركات التي تختارها SELECT باستخدام GRANT ON SHARE.

يجب أن تكون مسؤول metastore لإنشاء المستلمين وإفلات المستلمين ومنح حق الوصول إلى المشاركات.

الأمثلة

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