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

  3. Klik tombol + Tambahkan dan pilih Tambahkan lokasi eksternal.

  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. 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>'];

Langkah berikutnya