Bagikan melalui


Membuat lokasi eksternal untuk menyambungkan penyimpanan cloud ke Azure Databricks

Artikel ini menjelaskan cara mengonfigurasi lokasi eksternal di Unity Catalog untuk menyambungkan penyimpanan cloud ke Azure Databricks.

Lokasi eksternal mengaitkan kredensial penyimpanan Katalog Unity dengan kontainer penyimpanan objek cloud. Lokasi eksternal digunakan untuk menentukan lokasi penyimpanan terkelola untuk katalog dan skema, dan untuk menentukan lokasi untuk tabel eksternal dan volume eksternal.

Anda dapat membuat lokasi eksternal yang mereferensikan penyimpanan dalam kontainer penyimpanan Azure Data Lake Storage Gen2 atau wadah Cloudflare R2.

Anda dapat membuat lokasi eksternal menggunakan Catalog Explorer, perintah Databricks CLI, SQL di notebook atau kueri Databricks SQL, atau Terraform.

Catatan

Saat Anda menentukan volume, akses URI cloud ke data di bawah jalur volume diatur oleh izin volume.

Sebelum Anda memulai

Prasyarat:

Persyaratan izin:

  • Anda harus memiliki CREATE EXTERNAL LOCATION hak istimewa pada metastore dan kredensial penyimpanan yang direferensikan di lokasi eksternal. Admin metastore memiliki CREATE EXTERNAL LOCATION metastore secara default.

Membuat lokasi eksternal secara manual menggunakan Catalog Explorer

Anda dapat membuat lokasi eksternal secara manual menggunakan Catalog Explorer.

Izin dan prasyarat: lihat Sebelum Memulai.

Untuk membuat lokasi eksternal:

  1. Masuk ke ruang kerja yang dilampirkan ke metastore.

  2. Di bar samping, klik Ikon katalog Katalog.

  3. Di bagian atas panel Katalog, klik Ikon Tambahkan atau plus ikon Tambahkan dan pilih Tambahkan lokasi eksternal dari menu.

    Atau, dari halaman Akses cepat, klik tombol Data > eksternal, buka tab Lokasi Eksternal, dan klik Buat lokasi.

  4. Masukkan Nama lokasi eksternal.

  5. Secara opsional salin jalur kontainer dari titik pemasangan yang ada (hanya kontainer Azure Data Lake Storage Gen2).

  6. Jika Anda tidak menyalin dari titik pemasangan yang ada, gunakan bidang URL untuk memasukkan kontainer penyimpanan atau jalur wadah R2 yang ingin Anda gunakan sebagai lokasi eksternal.

    Misalnya, abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> atau r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  7. Pilih kredensial penyimpanan yang memberikan akses ke lokasi eksternal.

  8. (Opsional) Jika Anda ingin pengguna memiliki akses baca-saja ke lokasi eksternal, klik Opsi Tingkat Lanjut dan pilih Baca saja. Untuk informasi selengkapnya, lihat Menandai lokasi eksternal sebagai baca-saja.

  9. Klik Buat.

  10. (Opsional) Ikat lokasi eksternal ke ruang kerja tertentu.

    Secara default, setiap pengguna istimewa dapat menggunakan lokasi eksternal di ruang kerja apa pun yang dilampirkan ke metastore. Jika Anda ingin mengizinkan akses hanya dari ruang kerja tertentu, buka tab Ruang Kerja dan tetapkan ruang kerja. Lihat (Opsional) Menetapkan lokasi eksternal ke ruang kerja tertentu.

  11. Berikan izin untuk menggunakan lokasi eksternal.

    Bagi siapa pun untuk menggunakan lokasi eksternal, Anda harus memberikan izin:

    • Untuk menggunakan lokasi eksternal untuk menambahkan lokasi penyimpanan terkelola ke metastore, katalog, atau skema, berikan CREATE MANAGED LOCATION hak istimewa.
    • Untuk membuat tabel atau volume eksternal, berikan CREATE EXTERNAL TABLE atau CREATE EXTERNAL VOLUME.

    Untuk menggunakan Catalog Explorer untuk memberikan izin:

    1. Klik nama lokasi eksternal untuk membuka panel detail.
    2. Pada tab Izin , klik Berikan.
    3. Pada dialog Berikan pada<external location>, pilih pengguna, grup, atau perwakilan layanan di bidang Utama, dan pilih hak istimewa yang ingin Anda berikan.
    4. Klik Berikan.

Membuat lokasi eksternal menggunakan SQL

Untuk membuat lokasi eksternal menggunakan SQL, jalankan perintah berikut ini di buku catatan atau editor kueri SQL. Ganti nilai tempat penampung.

Izin dan prasyarat: lihat Sebelum Memulai.

  • <location-name>: Nama untuk lokasi eksternal. Jika location_name menyertakan karakter khusus, seperti tanda hubung (-), karakter harus dikelilingi oleh backtick (` `). Lihat Nama.

  • <bucket-path>: Jalur di penyewa cloud Anda yang aksesnya diberikan oleh lokasi eksternal ini. Misalnya, abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> atau r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  • <storage-credential-name>: Nama kredensial penyimpanan yang mengotorisasi pembacaan dari dan menulis ke kontainer penyimpanan atau jalur wadah. Jika nama kredensial penyimpanan menyertakan karakter khusus, seperti tanda hubung (-), nama tersebut harus dikelilingi oleh backtick (` `).

CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];

Jika Anda ingin membatasi akses lokasi eksternal ke ruang kerja tertentu di akun Anda, juga dikenal sebagai pengikatan ruang kerja atau isolasi lokasi eksternal, lihat (Opsional) Menetapkan lokasi eksternal ke ruang kerja tertentu.

(Opsional) Menetapkan lokasi eksternal ke ruang kerja tertentu

Penting

Fitur ini ada di Pratinjau Publik.

Secara default, lokasi eksternal dapat diakses dari semua ruang kerja di metastore. Ini berarti bahwa jika pengguna telah diberikan hak istimewa (seperti READ FILES) di lokasi eksternal tersebut, mereka dapat menjalankan hak istimewa tersebut dari ruang kerja apa pun yang dilampirkan ke metastore. Jika Anda menggunakan ruang kerja untuk mengisolasi akses data pengguna, Anda mungkin ingin mengizinkan akses ke lokasi eksternal hanya dari ruang kerja tertentu. Fitur ini dikenal sebagai pengikatan ruang kerja atau isolasi lokasi eksternal.

Kasus penggunaan umum untuk mengikat lokasi eksternal ke ruang kerja tertentu meliputi:

  • Memastikan bahwa teknisi data yang memiliki CREATE EXTERNAL TABLE hak istimewa pada lokasi eksternal yang berisi data produksi dapat membuat tabel eksternal di lokasi tersebut hanya di ruang kerja produksi.
  • Memastikan bahwa teknisi data yang memiliki hak istimewa pada lokasi eksternal yang berisi data sensitif hanya dapat menggunakan ruang kerja tertentu untuk mengakses data tersebut READ FILES .

Untuk informasi selengkapnya tentang cara membatasi jenis akses data lainnya menurut ruang kerja, lihat Membatasi akses katalog ke ruang kerja tertentu.

Penting

Pengikatan ruang kerja dirujuk pada titik ketika hak istimewa terhadap lokasi eksternal dijalankan. Misalnya, jika pengguna membuat tabel eksternal dengan mengeluarkan pernyataan CREATE TABLE myCat.mySch.myTable LOCATION 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' dari myWorkspace ruang kerja, pemeriksaan pengikatan ruang kerja berikut dilakukan selain pemeriksaan hak istimewa pengguna reguler:

  • Apakah lokasi eksternal terikat 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' ke myWorkspace?
  • Apakah katalog myCat terikat myWorkspace dengan tingkat Read & Writeakses ?

Jika lokasi eksternal kemudian tidak terikat dari myWorkspace, maka tabel eksternal terus berfungsi.

Fitur ini juga memungkinkan Anda mengisi katalog dari ruang kerja pusat dan membuatnya tersedia untuk ruang kerja lain menggunakan pengikatan katalog, tanpa juga harus membuat lokasi eksternal tersedia di ruang kerja lain tersebut.

Mengikat lokasi eksternal ke satu atau beberapa ruang kerja

Untuk menetapkan lokasi eksternal ke ruang kerja tertentu, Anda dapat menggunakan Catalog Explorer atau Databricks CLI.

Izin diperlukan: Admin Metastore atau pemilik lokasi eksternal.

Catatan

Admin metastore dapat melihat semua lokasi eksternal di metastore menggunakan Catalog Explorer—dan pemilik lokasi eksternal dapat melihat semua lokasi eksternal yang mereka miliki di metastore—terlepas dari apakah lokasi eksternal ditetapkan ke ruang kerja saat ini. Lokasi eksternal yang tidak ditetapkan ke ruang kerja tampak berwarna abu-abu.

Penjelajah Katalog

  1. Masuk ke ruang kerja yang ditautkan ke metastore.

  2. Di bar samping, klik Ikon katalog Katalog.

  3. Di bagian atas panel Katalog , klik ikon gerigi Ikon gigi dan pilih Lokasi Eksternal.

    Atau, dari halaman Akses cepat, klik tombol Data >eksternal untuk masuk ke tab Lokasi Eksternal.

  4. Pilih lokasi eksternal dan buka tab Ruang Kerja.

  5. Pada tab Ruang Kerja, kosongkan kotak centang Semua ruang kerja memiliki akses .

    Jika lokasi eksternal Anda sudah terikat ke satu atau beberapa ruang kerja, kotak centang ini sudah dikosongkan.

  6. Klik Tetapkan ke ruang kerja dan masukkan atau temukan ruang kerja yang ingin Anda tetapkan.

Untuk mencabut akses, buka tab Ruang Kerja, pilih ruang kerja, dan klik Cabut. Untuk mengizinkan akses dari semua ruang kerja, pilih kotak centang Semua ruang kerja memiliki akses .

CLI

Ada dua grup perintah Databricks CLI dan dua langkah yang diperlukan untuk menetapkan lokasi eksternal ke ruang kerja.

Dalam contoh berikut, ganti <profile-name> dengan nama profil konfigurasi autentikasi Azure Databricks Anda. Ini harus mencakup nilai token akses pribadi, selain nama instans ruang kerja dan ID ruang kerja ruang kerja tempat Anda membuat token akses pribadi. Lihat Autentikasi token akses pribadi Azure Databricks.

  1. external-locations Gunakan perintah grup update perintah untuk mengatur lokasi isolation mode eksternal ke ISOLATED:

    databricks external-locations update <my-location> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    isolation-mode Defaultnya adalah OPEN untuk semua ruang kerja yang dilampirkan ke metastore.

  2. workspace-bindings Gunakan perintah grup update-bindings perintah untuk menetapkan ruang kerja ke lokasi eksternal:

    databricks workspace-bindings update-bindings external-location <my-location> \
    --json '{
      "add": [{"workspace_id": <workspace-id>}...],
      "remove": [{"workspace_id": <workspace-id>}...]
    }' --profile <profile-name>
    

    "add" Gunakan properti dan "remove" untuk menambahkan atau menghapus pengikatan ruang kerja.

    Catatan

    Pengikatan baca-saja (BINDING_TYPE_READ_ONLY) tidak tersedia untuk lokasi eksternal. Oleh karena itu tidak ada alasan untuk mengatur binding_type pengikatan lokasi eksternal.

Untuk mencantumkan semua penetapan ruang kerja untuk lokasi eksternal, gunakan workspace-bindings perintah grup get-bindings perintah:

databricks workspace-bindings get-bindings external-location <my-location> \
--profile <profile-name>

Lihat juga Pengikatan Ruang Kerja dalam referensi REST API.

Membatalkan ikatan lokasi eksternal dari ruang kerja

Instruksi untuk mencabut akses ruang kerja ke lokasi eksternal menggunakan Catalog Explorer atau workspace-bindings grup perintah CLI disertakan dalam Mengikat lokasi eksternal ke satu atau beberapa ruang kerja.

Langkah berikutnya