Membuat dan mengelola berbagi untuk Berbagi Delta

Artikel ini menjelaskan cara membuat dan mengelola berbagi untuk Berbagi Delta.

Berbagi adalah objek yang dapat diamankan di Unity Catalog yang bisa Anda gunakan untuk berbagi aset data berikut dengan satu atau beberapa penerima:

  • Tabel dan partisi tabel
  • Tampilan, termasuk tampilan dinamis yang membatasi akses di tingkat baris dan kolom
  • Volume
  • Notebook
  • Model AI

Jika Anda berbagi seluruh skema (database), penerima dapat mengakses semua tabel, tampilan, model, dan volume dalam skema saat Anda membagikannya, bersama dengan data dan aset AI apa pun yang ditambahkan ke skema di masa mendatang.

Berbagi dapat berisi data dan aset AI hanya dari satu metastore Katalog Unity. Anda dapat menambahkan atau menghapus data dan aset AI dari berbagi kapan saja.

Untuk informasi selengkapnya, lihat Berbagi, penyedia, dan penerima.

Persyaratan

Untuk membuat berbagi, Anda harus:

  • Jadilah admin metastore atau miliki CREATE SHARE hak istimewa untuk metastore Katalog Unity tempat data yang ingin Anda bagikan terdaftar.
  • Buat berbagi menggunakan ruang kerja Azure Databricks yang memiliki metastore Unity Catalog terlampir.

Untuk menambahkan tabel atau tampilan ke berbagi, Anda harus:

  • Jadilah pemilik berbagi.
  • USE CATALOG Memiliki hak istimewa dan USE SCHEMA pada katalog dan skema yang berisi tabel atau tampilan, atau kepemilikan katalog atau skema.
  • SELECT Memiliki hak istimewa pada tabel atau tampilan. Anda harus menyimpan hak istimewa tersebut agar tabel atau tampilan terus dibagikan. Jika Anda kehilangannya, penerima tidak dapat mengakses tabel atau melihat melalui berbagi. Oleh karena itu, Databricks merekomendasikan agar Anda menggunakan grup sebagai pemilik berbagi.

Untuk menambahkan volume ke berbagi, Anda harus:

  • Jadilah pemilik berbagi.
  • USE CATALOG Memiliki hak istimewa dan USE SCHEMA pada katalog dan skema yang berisi volume, atau kepemilikan katalog atau skema.
  • READ VOLUME Memiliki hak istimewa pada volume. Anda harus menyimpan hak istimewa tersebut agar volume terus dibagikan. Jika Anda kehilangannya, penerima tidak dapat mengakses volume melalui berbagi. Oleh karena itu, Databricks merekomendasikan agar Anda menggunakan grup sebagai pemilik berbagi.

Untuk menambahkan model ke berbagi, Anda harus:

  • Jadilah pemilik berbagi.
  • USE CATALOG Memiliki hak istimewa dan USE SCHEMA pada katalog dan skema yang berisi model, atau kepemilikan katalog atau skema.
  • EXECUTE Memiliki hak istimewa pada model. Anda harus menyimpan hak istimewa tersebut agar model terus dibagikan. Jika Anda kehilangannya, penerima tidak dapat mengakses model melalui berbagi. Oleh karena itu, Databricks merekomendasikan agar Anda menggunakan grup sebagai pemilik berbagi.

Untuk berbagi seluruh skema, Anda harus:

  • Menjadi pemilik berbagi dan pemilik skema, atau memiliki USE SCHEMA.
  • Miliki SELECT skema untuk berbagi tabel.
  • Miliki READ VOLUME skema untuk berbagi volume.

Untuk menambahkan file buku catatan ke berbagi, Anda harus:

  • Pemilik berbagi dan memiliki izin BACA BISA pada buku catatan.

Untuk memberikan akses penerima ke berbagi, Anda harus menjadi salah satu dari berikut ini:

  • Admin Metastore.
  • Pengguna dengan izin atau kepemilikan yang didelegasikan pada berbagi dan objek penerima ((USE SHARE + SET SHARE PERMISSION) atau pemilik berbagi) AND (USE RECIPIENT atau pemilik penerima).

Untuk melihat berbagi, Anda harus menjadi salah satu dari berikut ini:

  • Admin metastore (dapat melihat semua)
  • Pengguna dengan USE SHARE hak istimewa (dapat melihat semua)
  • Pemilik objek berbagi

Persyaratan komputasi:

  • Jika Anda menggunakan notebook Databricks untuk membuat berbagi, kluster Anda harus menggunakan Databricks Runtime 11.3 LTS atau lebih tinggi dan mode akses kluster bersama atau pengguna tunggal.
  • Jika Anda menggunakan pernyataan SQL untuk menambahkan skema ke berbagi (atau memperbarui atau menghapus skema), Anda harus menggunakan gudang SQL atau komputasi yang menjalankan Databricks Runtime 13.3 LTS atau lebih tinggi. Melakukan hal yang sama menggunakan Catalog Explorer tidak memiliki persyaratan komputasi.

Membuat objek berbagi

Untuk membuat berbagi, Anda bisa menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau CREATE SHARE perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan: Admin atau pengguna Metastore dengan CREATE SHARE hak istimewa untuk metastore.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.
  3. Klik Bagikan data.
  4. Masukkan Nama berbagi dan komentar opsional.

Sql

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

CREATE SHARE [IF NOT EXISTS] <share-name>
[COMMENT "<comment>"];

Cli

Jalankan perintah berikut menggunakan Databricks CLI.

databricks shares create <share-name>

Anda dapat menggunakan --comment untuk menambahkan komentar atau --json menambahkan aset ke berbagi. Untuk detailnya, lihat bagian berikut ini.

Menambahkan tabel ke berbagi

Untuk menambahkan tabel ke berbagi, Anda bisa menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan: Pemilik objek berbagi, USE CATALOG dan USE SCHEMA pada katalog dan skema yang berisi tabel, dan SELECT hak istimewa pada tabel. Anda harus mempertahankan SELECT hak istimewa selama Anda ingin berbagi tabel. Untuk informasi selengkapnya, lihat Persyaratan.

Catatan

Jika Anda adalah admin ruang kerja dan Anda mewarisi USE SCHEMA izin dan USE CATALOG pada skema dan katalog yang berisi tabel dari grup admin ruang kerja, maka Anda tidak dapat menambahkan tabel ke berbagi. Anda harus terlebih dahulu memberi diri Anda USE SCHEMA izin dan USE CATALOG pada skema dan katalog.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.

  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.

  3. Pada tab Berbagi , temukan berbagi yang ingin Anda tambahkan tabel dan klik namanya.

  4. Klik Kelola aset > Tambahkan aset data.

  5. Pada halaman Tambahkan tabel , pilih seluruh skema (database) atau tabel dan tampilan individual.

    • Untuk memilih tabel atau tampilan, pertama-tama pilih katalog, lalu skema yang berisi tabel atau tampilan, lalu tabel atau tampilan itu sendiri.

      Anda dapat mencari tabel menurut nama, nama kolom, atau komentar menggunakan pencarian ruang kerja. Lihat Mencari objek ruang kerja.

    • Untuk memilih skema, pertama-tama pilih katalog lalu skema.

      Untuk informasi mendetail tentang berbagi skema, lihat Menambahkan skema ke berbagi.

  6. (Opsional) Klik Opsi tabel tingkat lanjut untuk menentukan opsi berikut. Alias dan partisi tidak tersedia jika Anda memilih seluruh skema. Riwayat tabel disertakan secara default jika Anda memilih seluruh skema.

    • Alias: Nama tabel alternatif untuk membuat nama tabel lebih mudah dibaca. Alias adalah nama tabel yang dilihat dan harus digunakan penerima dalam kueri. Penerima tidak dapat menggunakan nama tabel aktual jika alias ditentukan.

    • Partisi: Bagikan hanya bagian dari tabel. Contohnya,(column = 'value'). Lihat Menentukan partisi tabel untuk dibagikan dan Menggunakan properti penerima untuk melakukan pemfilteran partisi.

    • Berbagi Riwayat: Bagikan riwayat tabel untuk mengizinkan penerima melakukan kueri perjalanan waktu atau membaca tabel dengan Streaming Terstruktur Spark. Memerlukan Databricks Runtime 12.2 LTS atau lebih tinggi.

      Catatan

      Jika, selain melakukan kueri perjalanan waktu dan pembacaan streaming, Anda ingin pelanggan Anda dapat mengkueri umpan data perubahan tabel (CDF) menggunakan fungsi table_changes(), Anda harus mengaktifkan CDF pada tabel sebelum Membagikannya WITH HISTORY.

  7. Klik Simpan.

Sql

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

ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>  [COMMENT "<comment>"]
   [PARTITION(<clause>)] [AS <alias>]
   [WITH HISTORY | WITHOUT HISTORY];

Jalankan yang berikut ini untuk menambahkan seluruh skema. Perintah ini ADD SCHEMA memerlukan gudang SQL atau komputasi yang menjalankan Databricks Runtime 13.3 LTS atau lebih tinggi. Untuk informasi mendetail tentang berbagi skema, lihat Menambahkan skema ke berbagi.

ALTER SHARE <share-name> ADD SCHEMA <catalog-name>.<schema-name>
[COMMENT "<comment>"];

Opsi termasuk yang berikut ini. PARTITION dan AS <alias> tidak tersedia jika Anda memilih seluruh skema. WITH HISTORY dipilih secara default untuk semua tabel jika Anda memilih seluruh skema.

  • PARTITION(<clause>): Jika Anda hanya ingin berbagi bagian dari tabel, Anda dapat menentukan partisi. Misalnya, (column = 'value') Lihat Menentukan partisi tabel untuk berbagi dan Menggunakan properti penerima untuk melakukan pemfilteran partisi.

  • AS <alias>: Nama tabel alternatif, atau Alias untuk membuat nama tabel lebih mudah dibaca. Alias adalah nama tabel yang dilihat dan harus digunakan penerima dalam kueri. Penerima tidak dapat menggunakan nama tabel aktual jika alias ditentukan. Gunakan format <schema-name>.<table-name>.

  • WITH HISTORY atau WITHOUT HISTORY: Ketika WITH HISTORY ditentukan, bagikan tabel dengan riwayat lengkap, memungkinkan penerima untuk melakukan kueri perjalanan waktu dan pembacaan streaming. Perilaku default untuk berbagi tabel adalah WITHOUT HISTORY dan untuk berbagi skema adalah WITH HISTORY. Memerlukan Databricks Runtime 12.2 LTS atau lebih tinggi.

    Catatan

    Jika, selain melakukan kueri perjalanan waktu dan pembacaan streaming, Anda ingin pelanggan Anda dapat mengkueri umpan data perubahan tabel (CDF) menggunakan fungsi table_changes(), Anda harus mengaktifkan CDF pada tabel sebelum Membagikannya WITH HISTORY.

Untuk informasi selengkapnya tentang ALTER SHARE opsi, lihat MENGUBAH BERBAGI.

Cli

Untuk menambahkan tabel, jalankan perintah berikut menggunakan Databricks CLI.

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<table-full-name>",
          "data_object_type": "TABLE",
          "shared_as": "<table-alias>"
        }
      }
    ]
  }'

Untuk menambahkan skema, jalankan perintah Databricks CLI berikut:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<schema-full-name>",
          "data_object_type": "SCHEMA"
        }
      }
    ]
  }'

Catatan

Untuk tabel, dan hanya tabel, Anda dapat menghilangkan "data_object_type".

Untuk mempelajari tentang opsi yang tercantum dalam contoh ini, lihat instruksi pada tab SQL.

Untuk mempelajari tentang parameter tambahan, jalankan databricks shares update --help atau lihat PATCH /api/2.1/unity-catalog/shares/ dalam referensi REST API.

Untuk informasi tentang menghapus tabel dari berbagi, lihat Memperbarui berbagi.

Tentukan partisi tabel yang akan dibagikan

Untuk berbagi hanya bagian dari tabel saat Anda menambahkan tabel ke berbagi, Anda bisa memberikan spesifikasi partisi. Anda dapat menentukan partisi saat menambahkan tabel ke berbagi atau memperbarui berbagi, menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL. Lihat Menambahkan tabel ke berbagi dan Memperbarui berbagi.

Contoh dasar

Contoh SQL berikut berbagi bagian dari data dalam tabel, yang dipartisi inventory oleh yearkolom , , monthdan date :

  • Data untuk tahun 2021.
  • Data untuk Desember 2020.
  • Data untuk 25 Desember 2019.
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
          (year = "2020", month = "Dec"),
          (year = "2019", month = "Dec", date = "2019-12-25");

Menggunakan properti penerima untuk melakukan pemfilteran partisi

Anda dapat berbagi partisi tabel yang cocok dengan properti penerima data, juga dikenal sebagai berbagi partisi berparameter.

Properti default meliputi:

  • databricks.accountId: Akun Azure Databricks milik penerima data (hanya berbagi Databricks-ke-Databricks).
  • databricks.metastoreId: Metastore Unity Catalog milik penerima data (hanya berbagi Databricks-ke-Databricks).
  • databricks.name: Nama penerima data.

Anda dapat membuat properti kustom apa pun yang Anda suka saat membuat atau memperbarui penerima.

Pemfilteran menurut properti penerima memungkinkan Anda berbagi tabel yang sama, menggunakan berbagi yang sama, di beberapa akun Databricks, ruang kerja, dan pengguna sambil mempertahankan batas data di antara mereka.

Misalnya, jika tabel Anda menyertakan kolom ID akun Azure Databricks, Anda dapat membuat satu berbagi dengan partisi tabel yang ditentukan oleh ID akun Azure Databricks. Saat Anda berbagi, Berbagi Delta secara dinamis mengirimkan ke setiap penerima hanya data yang terkait dengan akun Azure Databricks mereka.

Diagram berbagi partisi dinamis berbasis parameter di Berbagi Delta

Tanpa kemampuan untuk mempartisi secara dinamis menurut properti, Anda harus membuat berbagi terpisah untuk setiap penerima.

Untuk menentukan partisi yang memfilter menurut properti penerima saat membuat atau memperbarui berbagi, Anda bisa menggunakan Penjelajah Katalog atau CURRENT_RECIPIENT fungsi SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL:

Catatan

Properti penerima tersedia di Databricks Runtime 12.2 ke atas.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.

  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.

  3. Pada tab Berbagi , temukan berbagi yang ingin Anda perbarui dan klik namanya.

  4. Klik Kelola aset > Tambahkan aset data.

  5. Pada halaman Tambahkan tabel , pilih katalog dan database yang berisi tabel, lalu pilih tabel.

    Jika Anda tidak yakin katalog dan database mana yang berisi tabel, Anda bisa mencarinya berdasarkan nama, nama kolom, atau komentar menggunakan pencarian ruang kerja. Lihat Mencari objek ruang kerja.

  6. (Opsional) Klik Opsi tabel tingkat lanjut untuk menambahkan spesifikasi Partisi .

    Pada dialog Tambahkan partisi ke tabel, tambahkan spesifikasi partisi berbasis properti menggunakan sintaks berikut:

    (<column-name> = CURRENT_RECIPIENT(<property-key>))
    

    Contohnya,

    (country = CURRENT_RECIPIENT('country'))
    
  7. Klik Simpan.

Sql

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

ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>
   PARTITION (<column-name> = CURRENT_RECIPIENT(<property-key>);

Contohnya,

ALTER SHARE acme ADD TABLE acme.default.some_table
  PARTITION (country = CURRENT_RECIPIENT('country'))

Menambahkan tabel dengan vektor penghapusan atau pemetaan kolom ke berbagi

Penting

Fitur ini ada di Pratinjau Publik.

Vektor penghapusan adalah fitur pengoptimalan penyimpanan yang dapat Anda aktifkan pada tabel Delta. Lihat Apa itu vektor penghapusan?.

Azure Databricks juga mendukung pemetaan kolom untuk tabel Delta. Lihat Mengganti nama dan meletakkan kolom dengan pemetaan kolom Delta Lake.

Untuk berbagi tabel dengan vektor penghapusan atau pemetaan kolom, Anda harus membagikannya dengan riwayat. Lihat Menambahkan tabel ke berbagi.

Saat Anda berbagi tabel dengan vektor penghapusan atau pemetaan kolom, penerima dapat mengkueri tabel menggunakan gudang SQL, kluster yang menjalankan Databricks Runtime 14.1 atau lebih tinggi, atau komputasi yang berjalan sumber terbuka delta-sharing-spark 3.1 atau lebih tinggi. Lihat Membaca tabel dengan vektor penghapusan atau pemetaan kolom diaktifkan dan Membaca tabel dengan vektor penghapusan atau pemetaan kolom diaktifkan.

Menambahkan tampilan ke berbagi

Penting

Fitur ini ada di Pratinjau Publik.

Tampilan adalah objek baca-saja yang dibuat dari satu atau beberapa tabel atau tampilan lainnya. Tampilan dapat dibuat dari tabel dan tampilan lain yang terkandung dalam beberapa skema dan katalog dalam metastore Katalog Unity. Lihat Membuat tampilan.

Bagian ini menjelaskan cara menambahkan tampilan ke berbagi menggunakan perintah Catalog Explorer, Databricks CLI, atau SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL. Jika Anda lebih suka menggunakan REST API Katalog Unity, lihat PATCH /api/2.1/unity-catalog/shares/ dalam referensi REST API.

Izin diperlukan: Pemilik objek berbagi, USE CATALOG dan USE SCHEMA pada katalog dan skema yang berisi tampilan, dan SELECT pada tampilan. Anda harus mempertahankan SELECT hak istimewa selama Anda ingin berbagi tampilan. Untuk informasi selengkapnya, lihat Persyaratan.

Persyaratan tambahan:

  • Berbagi tampilan hanya didukung dalam berbagi Databricks-ke-Databricks.
  • Tampilan yang dapat dibagikan harus ditentukan pada tabel Delta atau tampilan lain yang dapat dibagikan.
  • Anda tidak dapat berbagi tampilan yang mereferensikan tabel bersama atau tampilan bersama.
  • Anda harus menggunakan gudang SQL atau kluster pada Databricks Runtime 13.3 LTS atau lebih tinggi saat Anda menambahkan tampilan ke berbagi.
  • Untuk persyaratan dan batasan penggunaan tampilan penerima, lihat Membaca tampilan bersama.

Untuk menambahkan tampilan ke berbagi:

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.
  3. Pada tab Berbagi , temukan berbagi yang ingin Anda tambahkan tampilannya dan klik namanya.
  4. Klik Kelola aset > Tambahkan aset data.
  5. Pada halaman Tambahkan tabel , cari atau telusuri tampilan yang ingin Anda bagikan dan pilih.
  6. (Opsional) Klik Opsi tabel tingkat lanjut untuk menentukan Alias, atau nama tampilan alternatif, untuk membuat nama tampilan lebih mudah dibaca. Alias adalah nama yang dilihat penerima dan harus digunakan dalam kueri. Penerima tidak dapat menggunakan nama tampilan aktual jika alias ditentukan.
  7. Klik Simpan.

Sql

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

ALTER SHARE <share-name> ADD VIEW <catalog-name>.<schema-name>.<view-name>
   [COMMENT "<comment>"]
   [AS <alias>];

Opsi meliputi:

  • AS <alias>: Nama tampilan alternatif, atau alias, untuk membuat nama tampilan lebih mudah dibaca. Alias adalah nama tampilan yang dilihat dan harus digunakan penerima dalam kueri. Penerima tidak dapat menggunakan nama tampilan aktual jika alias ditentukan. Gunakan format <schema-name>.<view-name>.
  • COMMENT "<comment>": Komentar muncul di UI Catalog Explorer dan saat Anda mencantumkan dan menampilkan detail tampilan menggunakan pernyataan SQL.

Untuk informasi selengkapnya tentang ALTER SHARE opsi, lihat MENGUBAH BERBAGI.

Cli

Jalankan perintah Databricks CLI berikut:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<view-full-name>",
          "data_object_type": "VIEW",
          "shared_as": "<view-alias>"
        }
      }
    ]
  }'

"shared_as": "<view-alias>" bersifat opsional dan menyediakan nama tampilan alternatif, atau alias, untuk membuat nama tampilan lebih mudah dibaca. Alias adalah nama tampilan yang dilihat dan harus digunakan penerima dalam kueri. Penerima tidak dapat menggunakan nama tampilan aktual jika alias ditentukan. Gunakan format <schema-name>.<view-name>.

Untuk mempelajari tentang parameter tambahan, jalankan databricks shares update --help atau lihat PATCH /api/2.1/unity-catalog/shares/ dalam referensi REST API.

Untuk informasi tentang menghapus tampilan dari berbagi, lihat Memperbarui berbagi.

Menambahkan tampilan dinamis ke berbagi untuk memfilter baris dan kolom

Penting

Fitur ini ada di Pratinjau Publik.

Anda dapat menggunakan tampilan dinamis untuk mengonfigurasi kontrol akses terperinci ke data tabel, termasuk:

  • Keamanan pada tingkat kolom atau baris.
  • Masking data.

Saat Anda membuat tampilan dinamis yang menggunakan fungsi CURRENT_RECIPIENT(), Anda dapat membatasi akses penerima sesuai dengan properti yang Anda tentukan dalam definisi penerima.

Bagian ini menyediakan contoh pembatasan akses penerima ke data tabel di tingkat baris dan kolom menggunakan tampilan dinamis.

Persyaratan

  • Versi Databricks Runtime: Fungsi CURRENT_RECIPIENT ini didukung di Databricks Runtime 14.2 ke atas.
  • Izin:
    • Untuk membuat tampilan, Anda harus menjadi pemilik objek berbagi, memiliki USE CATALOG dan USE SCHEMA pada katalog dan skema yang berisi tampilan, bersama dengan SELECT pada tampilan. Anda harus mempertahankan SELECT hak istimewa selama Anda ingin berbagi tampilan.
    • Untuk mengatur properti pada penerima, Anda harus menjadi pemilik objek penerima.
  • Batasan: Semua batasan untuk berbagi tampilan, termasuk pembatasan berbagi Databricks-ke-Databricks, ditambah yang berikut ini:
    • Saat penyedia berbagi tampilan yang menggunakan CURRENT_RECIPIENT fungsi , penyedia tidak dapat mengkueri tampilan secara langsung karena konteks berbagi. Untuk menguji tampilan dinamis seperti itu, penyedia harus berbagi tampilan dengan mereka sendiri dan mengkueri tampilan sebagai penerima.
    • Penyedia tidak dapat membuat tampilan yang mereferensikan tampilan dinamis.

Mengatur properti penerima

Dalam contoh ini, tabel yang akan dibagikan memiliki kolom bernama country, dan hanya penerima dengan properti yang cocok country yang dapat melihat baris atau kolom tertentu.

Anda bisa mengatur properti penerima menggunakan perintah Catalog Explorer atau SQL di buku catatan Azure Databricks atau editor kueri SQL.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.
  3. Pada tab Penerima , temukan penerima yang ingin Anda tambahkan propertinya dan klik namanya.
  4. Klik Edit properti.
  5. Pada dialog Edit properti penerima, masukkan nama kolom sebagai kunci (dalam hal countryini ) dan nilai yang ingin Anda filter sebagai nilai (misalnya, CA).
  6. Klik Simpan.

Sql

Untuk mengatur properti pada penerima, gunakan ALTER RECIPIENT. Dalam contoh ini, country properti diatur ke CA.

ALTER RECIPIENT recipient1 SET PROPERTIES ('country' = 'CA');

Membuat tampilan dinamis dengan izin tingkat baris untuk penerima

Dalam contoh ini, hanya penerima dengan properti yang cocok country yang dapat melihat baris tertentu.

CREATE VIEW my_catalog.default.view1 AS
  SELECT * FROM my_catalog.default.my_table
  WHERE country = CURRENT_RECIPIENT('country');

Opsi lain adalah agar penyedia data mempertahankan tabel pemetaan terpisah yang memetakan bidang tabel fakta ke properti penerima, memungkinkan properti penerima dan bidang tabel fakta dipisahkan untuk fleksibilitas yang lebih besar.

Membuat tampilan dinamis dengan izin tingkat kolom untuk penerima

Dalam contoh ini, hanya penerima yang cocok dengan properti yang country dapat melihat kolom tertentu. Yang lain melihat data yang dikembalikan sebagai REDACTED:

CREATE VIEW my_catalog.default.view2 AS
  SELECT
  CASE
    WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
    ELSE 'REDACTED'
  END AS pii
  FROM my_catalog.default.my_table;

Berbagi tampilan dinamis dengan penerima

Untuk berbagi tampilan dinamis dengan penerima, gunakan perintah SQL atau prosedur UI yang sama seperti yang Anda lakukan untuk tampilan standar. Lihat Menambahkan tampilan ke berbagi.

Menambahkan volume ke berbagi

Penting

Fitur ini ada di Pratinjau Publik.

Volume adalah objek Katalog Unity yang mewakili volume penyimpanan logis di lokasi penyimpanan objek cloud. Mereka dimaksudkan terutama untuk memberikan tata kelola atas aset data non-tabular. Lihat Membuat dan bekerja dengan volume.

Bagian ini menjelaskan cara menambahkan volume ke berbagi menggunakan Catalog Explorer, Databricks CLI, atau perintah SQL di buku catatan Azure Databricks atau editor kueri SQL. Jika Anda lebih suka menggunakan REST API Katalog Unity, lihat PATCH /api/2.1/unity-catalog/shares/ dalam referensi REST API.

Izin diperlukan: Pemilik objek berbagi, USE CATALOG dan USE SCHEMA pada katalog dan skema yang berisi volume, dan READ VOLUME pada volume. Anda harus mempertahankan READ VOLUME hak istimewa selama Anda ingin berbagi volume. Untuk informasi selengkapnya, lihat Persyaratan.

Persyaratan tambahan:

  • Berbagi volume hanya didukung dalam berbagi Databricks-ke-Databricks.
  • Anda harus menggunakan gudang SQL pada versi 2023.50 atau lebih tinggi atau kluster pada Databricks Runtime 14.1 atau lebih tinggi saat Anda menambahkan volume ke berbagi.

Untuk menambahkan volume ke berbagi:

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.

  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.

  3. Pada tab Berbagi , temukan berbagi yang ingin Anda tambahkan volumenya dan klik namanya.

  4. Klik Kelola aset > Edit aset.

  5. Pada halaman Edit aset , cari atau telusuri volume yang ingin Anda bagikan dan pilih.

    Atau, Anda dapat memilih seluruh skema yang berisi volume. Lihat Menambahkan skema ke berbagi.

  6. (Opsional) Klik Opsi tingkat lanjut untuk menentukan nama volume alternatif, atau Alias, untuk membuat nama volume lebih mudah dibaca.

    Alias tidak tersedia jika Anda memilih seluruh skema.

    Alias adalah nama yang dilihat penerima dan harus digunakan dalam kueri. Penerima tidak dapat menggunakan nama volume aktual jika alias ditentukan.

  7. Klik Simpan.

Sql

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

ALTER SHARE <share-name> ADD VOLUME <catalog-name>.<schema-name>.<volume-name>
   [COMMENT "<comment>"]
   [AS <alias>];

Opsi meliputi:

  • AS <alias>: Nama volume alternatif, atau alias, untuk membuat nama volume lebih mudah dibaca. Alias adalah nama volume yang dilihat dan harus digunakan penerima dalam kueri. Penerima tidak dapat menggunakan nama volume aktual jika alias ditentukan. Gunakan format <schema-name>.<volume-name>.
  • COMMENT "<comment>": Komentar muncul di UI Catalog Explorer dan saat Anda mencantumkan dan menampilkan detail volume menggunakan pernyataan SQL.

Untuk informasi selengkapnya tentang ALTER SHARE opsi, lihat MENGUBAH BERBAGI.

Cli

Jalankan perintah berikut menggunakan Databricks CLI 0.210 atau lebih tinggi:

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<volume-full-name>",
           "data_object_type": "VOLUME",
           "string_shared_as": "<volume-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<volume-alias>" bersifat opsional dan menyediakan nama volume alternatif, atau alias, untuk membuat nama volume lebih mudah dibaca. Alias adalah nama volume yang dilihat dan harus digunakan penerima dalam kueri. Penerima tidak dapat menggunakan nama volume aktual jika alias ditentukan. Gunakan format <schema-name>.<volume-name>.

Untuk mempelajari tentang parameter tambahan, jalankan databricks shares update --help atau lihat PATCH /api/2.1/unity-catalog/shares/ dalam referensi REST API.

Untuk informasi tentang menghapus volume dari berbagi, lihat Memperbarui berbagi.

Menambahkan model ke berbagi

Penting

Fitur ini ada di Pratinjau Publik.

Bagian ini menjelaskan cara menambahkan model ke berbagi menggunakan Catalog Explorer, Databricks CLI, atau perintah SQL di buku catatan Azure Databricks atau editor kueri SQL. Jika Anda lebih suka menggunakan REST API Katalog Unity, lihat PATCH /api/2.1/unity-catalog/shares/ dalam referensi REST API.

Izin diperlukan: Pemilik objek berbagi, USE CATALOG dan USE SCHEMA pada katalog dan skema yang berisi model, dan EXECUTE pada model. Anda harus mempertahankan EXECUTE hak istimewa selama Anda ingin berbagi model. Untuk informasi selengkapnya, lihat Persyaratan.

Persyaratan tambahan:

  • Berbagi model hanya didukung dalam berbagi Databricks-ke-Databricks.
  • Anda harus menggunakan gudang SQL pada versi 2023.50 atau lebih tinggi atau kluster pada Databricks Runtime 14.0 atau lebih tinggi saat Anda menambahkan model ke berbagi.

Untuk menambahkan model ke berbagi:

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.

  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.

  3. Pada tab Berbagi , temukan berbagi yang ingin Anda tambahkan modelnya dan klik namanya.

  4. Klik Kelola aset > Edit aset.

  5. Pada halaman Edit aset , cari atau telusuri model yang ingin Anda bagikan dan pilih.

    Atau, Anda dapat memilih seluruh skema yang berisi model. Lihat Menambahkan skema ke berbagi.

  6. (Opsional) Klik Opsi tingkat lanjut untuk menentukan nama model alternatif, atau Alias, untuk membuat nama model lebih mudah dibaca.

    Alias tidak tersedia jika Anda memilih seluruh skema.

    Alias adalah nama yang dilihat penerima dan harus digunakan dalam kueri. Penerima tidak dapat menggunakan nama model aktual jika alias ditentukan.

  7. Klik Simpan.

Sql

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

ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<model-name>
   [COMMENT "<comment>"]
   [AS <alias>];

Opsi meliputi:

  • AS <alias>: Nama model alternatif, atau alias, untuk membuat nama model lebih mudah dibaca. Alias adalah nama model yang dilihat dan harus digunakan penerima dalam kueri. Penerima tidak dapat menggunakan nama model aktual jika alias ditentukan. Gunakan format <schema-name>.<model-name>.
  • COMMENT "<comment>": Komentar muncul di UI Catalog Explorer dan saat Anda mencantumkan dan menampilkan detail model menggunakan pernyataan SQL.

Untuk informasi selengkapnya tentang ALTER SHARE opsi, lihat MENGUBAH BERBAGI.

Cli

Jalankan perintah berikut menggunakan Databricks CLI 0.210 atau lebih tinggi:

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<model-full-name>",
           "data_object_type": "MODEL",
           "string_shared_as": "<model-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<model-alias>" bersifat opsional dan menyediakan nama model alternatif, atau alias, untuk membuat nama model lebih mudah dibaca. Alias adalah nama model yang dilihat dan harus digunakan penerima dalam kueri. Penerima tidak dapat menggunakan nama model aktual jika alias ditentukan. Gunakan format <schema-name>.<model-name>.

Untuk mempelajari tentang parameter tambahan, jalankan databricks shares update --help atau lihat PATCH /api/2.1/unity-catalog/shares/ dalam referensi REST API.

Untuk informasi tentang menghapus model dari berbagi, lihat Memperbarui berbagi.

Menambahkan skema ke berbagi

Penting

Fitur ini ada di Pratinjau Publik.

Saat Anda menambahkan seluruh skema ke berbagi, penerima Anda akan memiliki akses tidak hanya ke semua aset data dalam skema pada saat Anda membuat berbagi, tetapi aset apa pun yang ditambahkan ke skema dari waktu ke waktu. Ini termasuk semua tabel, tampilan, dan volume dalam skema. Tabel yang dibagikan dengan cara ini selalu menyertakan riwayat lengkap.

Menambahkan, memperbarui, atau menghapus skema menggunakan SQL memerlukan gudang SQL atau komputasi yang menjalankan Databricks Runtime 13.3 LTS atau lebih tinggi. Melakukan hal yang sama menggunakan Catalog Explorer tidak memiliki persyaratan komputasi.

Izin yang diperlukan: Pemilik objek berbagi dan pemilik skema (atau pengguna dengan USE SCHEMA dan SELECT hak istimewa pada skema).

Untuk menambahkan skema ke berbagi, ikuti instruksi di Menambahkan tabel ke berbagi, memperhatikan konten yang menentukan cara menambahkan skema.

Alias tabel, partisi, dan alias volume tidak tersedia jika Anda memilih seluruh skema. Jika Anda telah membuat alias atau partisi untuk aset apa pun dalam skema, ini akan dihapus saat Anda menambahkan seluruh skema ke berbagi.

Jika Anda ingin menentukan opsi tingkat lanjut untuk tabel atau volume yang Anda bagikan menggunakan berbagi skema, Anda harus berbagi tabel atau volume menggunakan SQL dan memberi tabel atau volume alias dengan nama skema yang berbeda.

Menambahkan file buku catatan ke berbagi

Gunakan Catalog Explorer untuk menambahkan file buku catatan ke berbagi.

Catatan

Untuk berbagi buku catatan, metastore Anda harus memiliki penyimpanan tingkat metastore.

Izin diperlukan: Pemilik objek berbagi dan izin BACA BISA pada buku catatan yang ingin Anda bagikan.

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.

  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.

  3. Pada tab Berbagi , temukan berbagi yang ingin Anda tambahkan buku catatan dan klik namanya.

  4. Klik Kelola aset dan pilih Tambahkan file buku catatan.

  5. Pada halaman Tambahkan file buku catatan, klik ikon file untuk menelusuri buku catatan yang ingin Anda bagikan.

    Klik file yang ingin Anda bagikan dan klik Pilih.

    (Opsional) tentukan alias yang mudah digunakan untuk file di bidang Bagikan sebagai . Ini adalah pengidentifikasi yang akan dilihat penerima.

  6. Klik Simpan.

File buku catatan bersama sekarang muncul di daftar File buku catatan pada tab Aset .

Menghapus file buku catatan dari berbagi

Untuk menghapus file buku catatan dari berbagi:

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.
  3. Pada tab Berbagi , temukan berbagi yang menyertakan buku catatan, dan klik nama berbagi.
  4. Pada tab Aset , temukan file buku catatan yang ingin Anda hapus dari berbagi.
  5. Menu kebab Klik menu kebab (juga dikenal sebagai menu tiga titik) di sebelah kanan baris, dan pilih Hapus file buku catatan.
  6. Pada dialog konfirmasi, klik Hapus.

Memperbarui file buku catatan dalam berbagi

Untuk memperbarui buku catatan yang telah Anda bagikan, Anda harus menambahkannya kembali, memberinya alias baru di bidang Bagikan sebagai . Databricks merekomendasikan agar Anda menggunakan nama yang menunjukkan status buku catatan yang direvisi, seperti <old-name>-update-1. Anda mungkin perlu memberi tahu penerima perubahan. Penerima harus memilih dan mengkloning buku catatan baru untuk memanfaatkan pembaruan Anda.

Memberikan akses penerima ke berbagi

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 berbagi dan objek penerima ((USE SHARE + SET SHARE PERMISSION) atau pemilik berbagi) AND (USE RECIPIENT atau pemilik penerima).

Untuk petunjuknya, lihat Mengelola akses ke berbagi data Berbagi Delta (untuk penyedia). Artikel ini juga menjelaskan cara mencabut akses penerima ke berbagi.

Menampilkan berbagi dan berbagi detail

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

Izin yang diperlukan: Daftar berbagi yang dikembalikan bergantung pada peran dan izin Anda. Admin dan pengguna Metastore dengan USE SHARE hak istimewa melihat semua berbagi. Jika tidak, Anda hanya dapat melihat berbagi yang anda adalah pemilik objek berbagi.

Detailnya mencakup:

  • Pemilik berbagi, pembuat, tanda waktu pembuatan, updater, tanda waktu yang diperbarui, komentar.
  • Aset data dalam berbagi.
  • Penerima dengan akses ke berbagi.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.
  3. Buka tab Berbagi untuk melihat daftar berbagi.
  4. Lihat detail berbagi pada tab Detail .

Sql

Untuk menampilkan daftar berbagi, jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL. Secara opsional, ganti <pattern> dengan LIKEpredikat.

SHOW SHARES [LIKE <pattern>];

Untuk melihat detail tentang berbagi tertentu, jalankan perintah berikut.

DESCRIBE SHARE <share-name>;

Untuk melihat detail tentang semua tabel, tampilan, dan volume dalam berbagi, jalankan perintah berikut.

SHOW ALL IN SHARE <share-name>;

Cli

Untuk melihat daftar berbagi, jalankan perintah berikut menggunakan Databricks CLI.

databricks shares list

Untuk melihat detail tentang berbagi tertentu, jalankan perintah berikut.

databricks shares get <share-name>

Menampilkan penerima yang memiliki izin pada berbagi

Untuk melihat daftar berbagi yang telah diberikan akses penerima, Anda bisa menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau SHOW GRANTS TO RECIPIENT perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan: Admin Metastore, USE SHARE hak istimewa, atau pemilik objek berbagi.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.
  3. Pada tab Berbagi , temukan dan pilih penerima.
  4. Buka tab Penerima untuk melihat daftar penerima yang bisa mengakses berbagi.

Sql

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

SHOW GRANTS ON SHARE <share-name>;

Cli

Jalankan perintah berikut menggunakan Databricks CLI.

databricks shares share-permissions <share-name>

Memperbarui berbagi

Selain menambahkan tabel, tampilan, volume, dan buku catatan ke berbagi, Anda bisa:

  • Mengganti nama berbagi.
  • Menghapus tabel, tampilan, volume, dan skema dari berbagi.
  • Menambahkan atau memperbarui komentar pada berbagi.
  • Mengaktifkan atau menonaktifkan akses ke data riwayat tabel, memungkinkan penerima untuk melakukan kueri perjalanan waktu atau streaming baca tabel.
  • Menambahkan, memperbarui, atau menghapus definisi partisi.
  • Ubah pemilik berbagi.

Untuk membuat pembaruan ini untuk berbagi, Anda dapat menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL. Anda tidak dapat menggunakan Catalog Explorer untuk mengganti nama berbagi.

Izin yang diperlukan: Untuk memperbarui pemilik berbagi, Anda harus menjadi salah satu hal berikut: admin metastore, pemilik objek berbagi, atau pengguna dengan USE SHARE hak istimewa dan SET SHARE PERMISSION . Untuk memperbarui nama berbagi, Anda harus menjadi admin metastore (atau pengguna dengan CREATE_SHARE hak istimewa) dan berbagi pemilik. Untuk memperbarui properti berbagi lainnya, Anda harus menjadi pemiliknya.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.
  3. Pada tab Berbagi , temukan berbagi yang ingin Anda perbarui dan klik namanya.

Pada halaman detail berbagi, Anda bisa melakukan hal berikut:

  • Klik ikon edit di Ikon edit samping bidang Pemilik atau Komentar untuk memperbarui nilai-nilai ini.
  • Klik tombol elipsis Elipsis Vertikal vertikal di baris aset untuk menghapusnya.
  • Klik Kelola aset > Edit aset untuk memperbarui semua properti lainnya:
    • Untuk menghapus aset, kosongkan kotak centang di samping aset.
    • Untuk menambahkan, memperbarui, atau menghapus definisi partisi, klik Opsi tingkat lanjut.

Sql

Jalankan perintah berikut di notebook atau editor Databricks SQL.

Mengganti nama berbagi:

ALTER SHARE <share-name> RENAME TO <new-share-name>;

Hapus tabel dari berbagi:

ALTER SHARE share_name REMOVE TABLE <table-name>;

Menghapus volume dari berbagi:

ALTER SHARE share_name REMOVE VOLUME <volume-name>;

Menambahkan atau memperbarui komentar pada berbagi:

COMMENT ON SHARE <share-name> IS '<comment>';

Tambahkan atau ubah partisi untuk tabel dalam berbagi:

ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);

Ubah pemilik berbagi:

ALTER SHARE <share-name> OWNER TO  '<principal>'

-- Principal must be an account-level user email address or group name.

Aktifkan berbagi riwayat untuk tabel:

ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;

Untuk detail tentang ALTER SHARE parameter, lihat ALTER SHARE.

Cli

Jalankan perintah berikut menggunakan Databricks CLI.

Mengganti nama berbagi:

databricks shares update <share-name> --name <new-share-name>

Hapus tabel dari berbagi:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "REMOVE",
        "data_object": {
          "name": "<table-full-name>",
          "data_object_type": "TABLE",
          "shared_as": "<table-alias>"
        }
      }
    ]
  }'

Menghapus volume dari berbagi (menggunakan Databricks CLI 0.210 atau lebih tinggi):

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "REMOVE",
        "data_object": {
          "name": "<volume-full-name>",
          "data_object_type": "VOLUME",
          "string_shared_as": "<volume-alias>"
        }
      }
    ]
  }'

Catatan

name Gunakan properti jika tidak ada alias untuk volume. Gunakan string_shared_as jika ada alias.

Menambahkan atau memperbarui komentar pada berbagi:

databricks shares update <share-name> --comment '<comment>'

Ubah pemilik berbagi:

databricks  shares update <share-name> --owner '<principal>'

Prinsipal harus berupa alamat email pengguna tingkat akun atau nama grup.

Menghapus berbagi

Untuk menghapus berbagi, Anda bisa menggunakan Catalog Explorer, Databricks Unity Catalog CLI, atau DELETE SHARE perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL. Anda harus menjadi pemilik berbagi.

Saat Anda menghapus berbagi, penerima tidak dapat lagi mengakses data bersama.

Izin diperlukan: Bagikan pemilik objek.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Di panel kiri, perluas menu Berbagi Delta dan pilih Dibagikan oleh saya.
  3. Pada tab Berbagi , temukan berbagi yang ingin Anda hapus dan klik namanya.
  4. Menu kebab Klik menu kebab (juga dikenal sebagai menu tiga titik) dan pilih Hapus.
  5. Pada dialog konfirmasi, klik Hapus.

Sql

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

DROP SHARE [IF EXISTS] <share-name>;

Cli

Jalankan perintah berikut menggunakan Databricks CLI.

databricks shares delete <share-name>