Membangun dan mengelola penerima data untuk Delta Sharing (berbagi Databricks-ke-Databricks)

Halaman ini menjelaskan cara membuat dan mengelola penerima data di Delta Sharing, saat penerima berada di ruang kerja Databricks yang mendukung Unity Catalog.

Penerima adalah objek bernama yang mewakili identitas pengguna atau grup pengguna yang menggunakan data bersama. Cara Anda membuat penerima berbeda tergantung pada apakah penerima Anda memiliki akses ke ruang kerja Databricks yang diaktifkan untuk Katalog Unity atau tidak:

Untuk informasi selengkapnya tentang kedua mode berbagi ini dan kapan harus memilih yang mana, lihat Berbagi terbuka versus berbagi Databricks dengan Databricks.

Persyaratan

Untuk membuat penerima:

  • Anda harus memiliki CREATE RECIPIENT hak istimewa untuk metastore Unity Catalog tempat data yang ingin Anda bagikan terdaftar.
  • Anda harus membuat penerima menggunakan ruang kerja Azure Databricks yang memiliki metastore Unity Catalog yang sudah terpasang.
  • Jika Anda menggunakan buku catatan Databricks untuk membuat penerima, komputasi Anda harus menggunakan Databricks Runtime 11.3 LTS atau lebih tinggi dan mode akses standar atau khusus (sebelumnya mode akses pengguna bersama dan tunggal).

Untuk operasi manajemen penerima lainnya (seperti melihat, menghapus, memperbarui, dan memberikan akses penerima ke berbagi) lihat persyaratan izin yang tercantum di bagian khusus operasi di artikel ini.

Buat objek penerima untuk pengguna yang mempunyai akses ke Databricks dalam konteks berbagi Databricks-ke-Databricks.

Jika penerima data Anda memiliki akses ke ruang kerja Databricks yang telah diaktifkan untuk Unity Catalog, Anda dapat membuat objek penerima dengan jenis DATABRICKSautentikasi.

Objek penerima dengan jenis DATABRICKS autentikasi mewakili penerima data pada metastore Katalog Unity tertentu, yang diidentifikasi dalam definisi objek penerima dengan string pengidentifikasi berbagi yang terdiri dari cloud, region, dan UUID metastore. Data yang dibagikan dengan penerima ini hanya dapat diakses di metastore tersebut.

Langkah 1: Minta ID berbagi penerima

Minta pengguna penerima untuk mengirimi Anda identitas berbagi untuk metastore Unity Catalog yang dilampirkan pada ruang kerja tempat pengguna penerima atau grup pengguna akan bekerja dengan data yang dibagikan.

Pengidentifikasi berbagi adalah string yang terdiri dari cloud, wilayah, dan UUID metastore (pengidentifikasi unik untuk metastore), dengan format <cloud>:<region>:<uuid>.

Misalnya, dalam cuplikan layar berikut, string pengidentifikasi berbagi lengkap adalah aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

contoh CURRENT_METASTORE

Penerima dapat menemukan pengidentifikasi menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau fungsi CURRENT_METASTORE SQL default dalam buku catatan Databricks atau kueri Databricks SQL yang berjalan pada komputasi berkemampuan Unity-Catalog di ruang kerja yang ingin mereka gunakan.

Penjelajah Katalog

Untuk mendapatkan pengidentifikasi berbagi menggunakan Catalog Explorer:

  1. Di ruang kerja Azure Databricks Anda, klik Ikon data.Katalog.

  2. Di bagian atas panel Katalog , klik ikon Gerigi. ikon gerigi dan pilih Berbagi Delta.

    Atau, di sudut kanan atas, klik Bagikan Delta Sharing.

  3. Pada tab Dibagikan dengan saya, klik nama organisasi berbagi Databricks Anda di sudut kanan atas, lalu pilih Salin pengidentifikasi berbagi.

SQL

Jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL:

SELECT CURRENT_METASTORE();

antarmuka baris perintah (CLI)

Jalankan perintah berikut menggunakan Databricks CLI. Pengidentifikasi berbagi data dikembalikan sebagai global_metastore_id.

databricks metastores summary

Anda dapat mengirimi penerima informasi yang terkandung dalam langkah ini, atau Anda dapat mengarahkannya ke Mendapatkan akses dalam model Databricks-ke-Databricks.

Langkah 2: Buat penerima

Untuk membuat penerima untuk berbagi Databricks-ke-Databricks, Anda dapat menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau CREATE RECIPIENT perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan: Admin atau pengguna Metastore dengan CREATE RECIPIENT hak istimewa untuk metastore Unity Catalog tempat data yang ingin Anda bagikan terdaftar.

Penjelajah Katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon data.Katalog.

  2. Di bagian atas panel Katalog , klik ikon Gerigi. ikon gerigi dan pilih Berbagi Delta.

    Atau, di sudut kanan atas, klik Bagikan Delta Sharing.

  3. Pada tab Dibagikan oleh saya , klik Penerima baru.

  4. Masukkan Nama penerima.

  5. Untuk Jenis penerima, pilih Databricks.

  6. Masukkan pengidentifikasi Berbagi penerima.

    Gunakan seluruh string pengidentifikasi berbagi dalam format <cloud>:<region>:<uuid>. Contohnya,aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

  7. (Opsional) Masukkan komentar.

  8. Klik Buat.

  9. (Opsional) Buat properti Penerima kustom.

    Klik ikon di tab Edit iconGambaran Umum penerima di samping Properti Penerima. Kemudian tambahkan nama properti (Kunci) dan Nilai. Untuk detailnya, lihat Mengelola properti penerima.

SQL

Jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL:

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
USING ID '<sharing-identifier>'
[COMMENT "<comment>"];

Gunakan seluruh string pengidentifikasi berbagi dalam format <cloud>:<region>:<uuid>. Contohnya,aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.

Anda juga dapat menambahkan properti kustom untuk penerima. Untuk detailnya, lihat Mengelola properti penerima.

antarmuka baris perintah (CLI)

Jalankan perintah berikut menggunakan Databricks CLI. Ganti nilai placeholder:

  • <recipient-name>: Nama penerima.
  • <sharing-identifier>: Seluruh string pengidentifikasi berbagi dalam format <cloud>:<region>:<uuid>. Contohnya,aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.
  • <authentication-type>: Atur ke DATABRICKS saat string pengidentifikasi berbagi dalam format <cloud>:<region>:<uuid> disediakan untuk <sharing-identifier>.
databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>

Anda juga dapat menambahkan properti kustom untuk penerima. Untuk detailnya, lihat Mengelola properti penerima.

Penerima dibuat dengan menggunakan authentication_type dari DATABRICKS.

Memberikan akses penerima ke bagian yang dibagikan

Setelah membuat penerima dan membuat berbagi, Anda dapat memberikan akses penerima ke berbagi tersebut.

Untuk memberikan akses berbagi ke penerima, Anda dapat menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau GRANT ON SHARE perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan: Salah satu hal berikut ini:

  • Admin Metastore.
  • Izin atau kepemilikan yang didelegasikan pada berkas berbagi dan objek penerima ((USE SHARE + SET SHARE PERMISSION) atau pemilik berbagi) DAN (USE RECIPIENT atau pemilik penerima).

Untuk instruksi, lihat Mengelola akses ke berbagi data Delta Sharing (untuk penyedia).

Menampilkan penerima

Untuk menampilkan daftar penerima, Anda bisa menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau SHOW RECIPIENTS perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin yang diperlukan: Anda harus memiliki USE RECIPIENT hak istimewa untuk melihat semua penerima di metastore. Pengguna lain hanya memiliki akses ke penerima yang mereka miliki.

Penjelajah Katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon data.Katalog.

  2. Di bagian atas panel Katalog , klik ikon Gerigi. ikon gerigi dan pilih Berbagi Delta.

    Atau, di sudut kanan atas, klik Bagikan Delta Sharing.

  3. Pada tab Dibagikan oleh saya , klik Penerima.

SQL

Jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL. Secara opsional, ganti <pattern> dengan LIKEpredikat.

SHOW RECIPIENTS [LIKE <pattern>];

antarmuka baris perintah (CLI)

Jalankan perintah berikut menggunakan Databricks CLI.

databricks recipients list

Menampilkan detail penerima

Untuk melihat detail tentang penerima, Anda bisa menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau DESCRIBE RECIPIENT perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan: Admin metastore, pengguna dengan USE RECIPIENT hak istimewa, atau pemilik objek penerima.

Detailnya mencakup:

  • Pembuat penerima, tanda waktu pembuatan, komentar, dan jenis autentikasi (TOKEN atau DATABRICKS).
  • Jika penerima menggunakan berbagi terbuka: masa pakai token, tautan aktivasi, status aktivasi (apakah kredensial telah diunduh), dan daftar akses IP, jika ditetapkan.
  • Jika penerima menggunakan berbagi Databricks-to-Databricks: cloud, wilayah, dan ID metastore Unity Catalog penerima, serta status aktivasi.
  • Properti penerima, termasuk properti kustom. Lihat Mengelola properti penerima.

Penjelajah Katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon data.Katalog.

  2. Di bagian atas panel Katalog , klik ikon Gerigi. ikon gerigi dan pilih Berbagi Delta.

    Atau, di sudut kanan atas, klik Bagikan Delta Sharing.

  3. Pada tab Dibagikan oleh saya , klik Penerima, dan pilih penerima.

SQL

Jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL.

DESCRIBE RECIPIENT <recipient-name>;

antarmuka baris perintah (CLI)

Jalankan perintah berikut menggunakan Databricks CLI.

databricks recipients get <recipient-name>

Menampilkan izin berbagi penerima

Untuk melihat daftar saham yang aksesnya telah diberikan kepada penerima, Anda bisa menggunakan Catalog Explorer, Databricks CLI, atau command SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan: Admin metastore, pengguna dengan USE RECIPIENT hak istimewa, atau pemilik objek penerima.

Penjelajah Katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon data.Katalog.

  2. Di bagian atas panel Katalog , klik ikon Gerigi. ikon gerigi dan pilih Berbagi Delta.

    Atau, di sudut kanan atas, klik Bagikan Delta Sharing.

  3. Pada tab Dibagikan oleh saya , klik Penerima, dan pilih penerima.

  4. Buka tab Berbagi untuk menampilkan daftar berbagi yang dibagikan dengan penerima.

SQL

Jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL.

SHOW GRANTS TO RECIPIENT <recipient-name>;

antarmuka baris perintah (CLI)

Jalankan perintah berikut menggunakan Databricks CLI.

databricks recipients share-permissions <recipient-name>

Memperbarui penerima

Untuk memperbarui penerima, Anda bisa menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau ALTER RECIPIENT perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Properti yang dapat Anda perbarui mencakup nama penerima, pemilik, komentar, dan properti kustom.

Izin yang diperlukan: Anda harus menjadi admin metastore atau pemilik objek penerima untuk mengubah pemilik. Anda harus memiliki CREATE RECIPIENT hak istimewa dan menjadi pemilik untuk memperbarui nama. Anda harus menjadi pemilik untuk memperbarui komentar atau properti kustom.

Penjelajah Katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon data.Katalog.

  2. Di bagian atas panel Katalog , klik ikon Gerigi. ikon gerigi dan pilih Berbagi Delta.

    Atau, di sudut kanan atas, klik Bagikan Delta Sharing.

  3. Pada tab Dibagikan oleh saya , klik Penerima, dan pilih penerima.

  4. Pada halaman detail penerima:

    • Perbarui informasi pemilik.

    • Edit atau tambahkan komentar.

    • Ganti nama penerima.

      Klik ikon menu Kebab. menu kebab dan pilih Ganti Nama.

    • Edit, hapus, atau tambahkan properti Penerima kustom.

      Klik ikon Edit di samping Properti penerima. Kemudian tambahkan nama properti (Kunci) dan Nilai. Untuk detailnya, lihat Mengelola properti penerima.

    • Hanya untuk penerima yang telah diautentikasi melalui token:

    • Hanya penerima federasi OIDC:

      • Di bawah Kebijakan federasi OIDC, klik Tambahkan kebijakan. Lihat LINK.
      • Menampilkan dan menyalin titik akhir Penerima dan titik akhir MTLS Penerima.

SQL

Jalankan satu atau beberapa perintah berikut ini di buku catatan atau editor kueri Databricks SQL.

ALTER RECIPIENT <recipient-name> RENAME TO <new-recipient-name>;

ALTER RECIPIENT <recipient-name> OWNER TO <new-owner>;

COMMENT ON RECIPIENT <recipient-name> IS "<new-comment>";

ALTER RECIPIENT <recipient-name> SET PROPERTIES ( <property-key>  =  property_value [, ...] )

ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( <property-key> [, ...] )

Untuk informasi selengkapnya tentang properti, lihat Mengelola properti penerima.

antarmuka baris perintah (CLI)

Buat file JSON yang menyertakan pembaruan untuk nama penerima, komentar, pemilik, daftar akses IP, atau properti kustom.

{
  "name": "new-recipient-name",
  "owner": "someone-else@example.com",
  "comment": "something new",
  "ip_access_list": {
    "allowed_ip_addresses": ["8.8.8.8", "8.8.8.4/10"]
  },
  "property": {
    "country": "us",
    "id": "001"
  }
}

Kemudian jalankan perintah berikut menggunakan Databricks CLI. Ganti <recipient-name> dengan nama penerima saat ini dan ganti update-recipient-settings.json dengan nama file file JSON.

databricks recipients update --json-file update-recipient-settings.json

Untuk informasi selengkapnya tentang properti, lihat Mengelola properti penerima.

(Opsional) Membatasi akses penerima menggunakan daftar akses

Anda dapat membatasi akses penerima ke sekumpulan alamat IP terbatas saat mengonfigurasi objek penerima. Lihat Membatasi akses penerima Berbagi Delta menggunakan daftar akses IP (berbagi terbuka).

Mengelola properti penerima

Objek penerima menyertakan properti yang telah ditentukan sebelumnya yang dapat Anda gunakan untuk menyempurnakan akses berbagi data. Misalnya, Anda dapat menggunakannya untuk melakukan hal berikut:

  • Bagikan partisi tabel yang berbeda dengan penerima yang berbeda, memungkinkan Anda menggunakan berbagi yang sama dengan beberapa penerima sambil mempertahankan batas data di antara mereka.
  • Bagikan tampilan dinamis yang membatasi akses penerima ke data tabel di tingkat baris atau kolom berdasarkan properti penerima.

Anda juga dapat membuat properti kustom.

Properti yang telah ditentukan sebelumnya dimulai dengan databricks. dan termasuk yang berikut ini:

  • databricks.accountId: Akun Azure Databricks yang dimiliki oleh penerima data (khusus untuk berbagi antara Databricks-ke-Databricks).
  • databricks.metastoreId: Metastore Unity Catalog milik penerima data (hanya berbagi Databricks-ke-Databricks).
  • databricks.name: Nama penerima data.

Properti kustom yang mungkin bernilai dapat mencakup, misalnya, country. Misalnya, jika Anda melampirkan properti 'country' = 'us' kustom ke penerima, Anda dapat mempartisi data tabel menurut negara dan hanya berbagi baris yang memiliki data AS dengan penerima yang menetapkan properti tersebut. Anda juga dapat berbagi tampilan dinamis yang membatasi akses baris atau kolom berdasarkan properti penerima. Untuk contoh yang lebih rinci, lihat Menggunakan properti penerima untuk melakukan pemfilteran partisi dan Menambahkan tampilan dinamis ke berbagi untuk memfilter baris dan kolom.

Persyaratan

Anda harus menggunakan gudang SQL atau komputasi yang menjalankan Databricks Runtime 12.2 atau lebih tinggi.

Menambahkan properti saat Anda membuat atau memperbarui penerima

Anda bisa menambahkan properti saat membuat penerima atau memperbaruinya untuk penerima yang sudah ada. Anda dapat menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan: Admin atau pengguna Metastore dengan hak akses untuk metastore Unity Catalog.

Penjelajah Katalog

Saat Anda membuat atau memperbarui penerima menggunakan Catalog Explorer, tambahkan atau perbarui properti kustom dengan melakukan hal berikut:

  1. Buka halaman Detail penerima.

    Jika Anda membuat penerima baru, Anda masuk ke halaman ini setelah mengklik Buat. Jika Anda memperbarui penerima yang sudah ada, masuk ke halaman ini dengan mengklik ikon roda gigi.ikon roda gigi > Berbagi Delta > Dibagikan oleh Saya > Penerima dan memilih penerima.

  2. Di sisi kanan bawah halaman, di bawah Properti penerima, klik ikon Pensil.pensil di samping databricks.metastoreID untuk penerima Azure Databricks atau di samping databricks.name untuk penerima terbuka.

  3. Masukkan nama properti (Kunci) dan Nilai.

    Misalnya, jika Anda ingin memfilter data bersama menurut negara dan hanya berbagi data AS dengan penerima ini, Anda dapat membuat kunci bernama "negara" dengan nilai "AS."

  4. Klik Simpan.

SQL

Untuk menambahkan properti kustom saat Anda membuat penerima, jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL:

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[USING ID '<sharing-identifier>'] /* Skip this if you are using open sharing */
[COMMENT "<comment>"]
PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );

<property-key> dapat berupa string literal atau pengidentifikasi. <property-value> harus berupa string harfiah.

Contohnya:

CREATE RECIPIENT acme PROPERTIES ('country' = 'us', 'partner_id' = '001');

Untuk menambahkan, mengedit, atau menghapus properti kustom untuk penerima yang sudah ada, jalankan salah satu hal berikut ini:

ALTER RECIPIENT <recipient-name> SET PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );

ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( '<property-key>' );

antarmuka baris perintah (CLI)

Untuk menambahkan properti kustom saat Anda membuat penerima, jalankan perintah berikut menggunakan Databricks CLI. Ganti nilai placeholder:

  • <recipient-name>: Nama penerima.
  • <property-key> dapat berupa string literal atau pengidentifikasi.
  • <property-value> harus berupa string harfiah.
databricks recipients create \
--json='{
  "name": "<recipient-name>",
  "properties_kvpairs": {
    "properties": {
      "<property-key>": "<property-value>",
    }
  }
}'

Contohnya:

databricks recipients create \
--json='{
  "name": "<recipient-name>",
  "properties_kvpairs": {
    "properties": {
      "country": "us",
      "partner_id":"001"
    }
  }
}'

Untuk menambahkan atau mengedit properti kustom untuk penerima yang sudah ada, gunakan update alih-alih create:

databricks recipients update \
--json='{
  "name": "<recipient-name>",
  "properties_kvpairs": {
    "properties": {
      "country": "us",
      "partner_id":"001"
    }
  }
}'

Menampilkan properti penerima

Untuk menampilkan properti penerima, ikuti instruksi di Menampilkan detail penerima.

Menghapus penerima

Untuk menghapus penerima, Anda bisa menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau DROP RECIPIENT perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL. Anda harus menjadi pemilik objek penerima untuk menghapus penerima.

Saat Anda menghapus penerima, pengguna yang diwakili oleh penerima tidak dapat lagi mengakses data bersama. Token yang digunakan penerima dalam skenario berbagi terbuka tidak valid.

Izin diperlukan: Pemilik objek penerima.

Penjelajah Katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon data.Katalog.

  2. Di bagian atas panel Katalog , klik ikon Gerigi. ikon gerigi dan pilih Berbagi Delta.

    Atau, di sudut kanan atas, klik Bagikan Delta Sharing.

  3. Pada tab Dibagikan oleh saya , klik Penerima, dan pilih penerima.

  4. Pada tab Penerima , temukan dan pilih penerima.

  5. Klik ikon menu Kebab. menu kebab dan pilih Hapus.

  6. Pada dialog konfirmasi, klik Hapus.

SQL

Jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL.

DROP RECIPIENT [IF EXISTS] <recipient-name>;

antarmuka baris perintah (CLI)

Jalankan perintah berikut menggunakan Databricks CLI.

databricks recipients delete <recipient-name>