Tentukan lokasi penyimpanan terkelola di Katalog Unity

Lokasi penyimpanan terkelola menentukan lokasi di penyimpanan objek cloud untuk menyimpan data untuk tabel terkelola dan volume terkelola.

Anda dapat mengaitkan lokasi penyimpanan terkelola dengan metastore, katalog, atau skema. Lokasi penyimpanan terkelola pada tingkat yang lebih rendah dalam hierarki menggantikan lokasi penyimpanan yang ditentukan pada tingkat lebih tinggi ketika tabel terkelola atau volume terkelola dibuat.

Databricks merekomendasikan agar Anda menetapkan penyimpanan terkelola di tingkat katalog untuk isolasi data logis, dengan tingkat metastore dan tingkat skema sebagai opsi.

Ruang kerja baru yang diaktifkan untuk Katalog Unity secara otomatis dibuat tanpa lokasi penyimpanan terkelola tingkat metastore. Untuk memutuskan apakah Anda memerlukan penyimpanan tingkat metastore, lihat Pengaktifan Otomatis Katalog Unity, Hierarki lokasi penyimpanan terkelola, dan Menambahkan penyimpanan terkelola ke metastore yang ada.

Apa itu lokasi penyimpanan terkelola?

Lokasi penyimpanan terkelola memiliki properti berikut:

  • Tabel terkelola dan volume terkelola menyimpan data dan file metadata di lokasi penyimpanan terkelola.
  • Lokasi penyimpanan terkelola tidak dapat tumpang tindih dengan tabel eksternal atau volume eksternal.

Tabel berikut ini menjelaskan bagaimana lokasi penyimpanan terkelola dideklarasikan dan dikaitkan dengan objek Katalog Unity:

Objek yang Terkait dengan Katalog Unity Cara mengatur Hubungan dengan lokasi eksternal
Metastore Dikonfigurasi oleh administrator akun selama pembuatan metastore. Tidak dapat tumpang tindih dengan lokasi eksternal.
Katalog standar Ditentukan selama pembuatan katalog menggunakan MANAGED LOCATION kata kunci, atau diubah setelah pembuatan menggunakan ALTER CATALOG SET MANAGED LOCATION. Harus berada di dalam lokasi eksternal.
Katalog asing Ditentukan setelah pembuatan katalog menggunakan Catalog Explorer. Harus berada di dalam lokasi eksternal.
Skema Ditentukan selama pembuatan skema menggunakan MANAGED LOCATION kata kunci, atau diubah setelah pembuatan menggunakan ALTER SCHEMA SET MANAGED LOCATION. Harus berada di dalam lokasi eksternal.

Nota

Saat Unity Catalog diaktifkan secara otomatis untuk ruang kerja, Azure Databricks membuat katalog ruang kerja dengan lokasi penyimpanan terkelola. Semua pengguna ruang kerja dapat membuat tabel dan volume terkelola dalam default skema katalog ruang kerja. Untuk informasi selengkapnya tentang katalog ruang kerja, lihat Pengaktifan Otomatis Katalog Unity.

Lokasi penyimpanan terkelola yang menyimpan data dan metadata untuk tabel terkelola dan volume terkelola menggunakan aturan berikut:

  • Jika skema yang berisi memiliki lokasi terkelola, data disimpan di lokasi terkelola skema.
  • Jika skema yang berisi tidak memiliki lokasi terkelola tetapi katalog memiliki lokasi terkelola, data disimpan di lokasi terkelola katalog.
  • Jika baik skema maupun katalog yang memuat tidak memiliki lokasi terkelola, data disimpan di lokasi terkelola metastore.

Katalog Unity mencegah tumpang tindih tata kelola lokasi. Lihat Aturan jalur dan akses dalam volume Katalog Unity.

Lokasi penyimpanan yang dikelola, akar penyimpanan, dan lokasi penyimpanan

Saat Anda menentukan MANAGED LOCATION untuk katalog atau skema, lokasi yang disediakan dilacak sebagai Akar Penyimpanan dalam Unity Catalog. Untuk memastikan bahwa semua entitas terkelola memiliki lokasi yang unik, Unity Catalog menambahkan subdirektori yang di-hash ke lokasi yang ditentukan, menggunakan format berikut:

Objek Jalur
Skema <storage-root>/__unitystorage/schemas/00000000-0000-0000-0000-000000000000
Katalog <storage-root>/__unitystorage/catalogs/00000000-0000-0000-0000-000000000000

Jalur lengkap untuk lokasi penyimpanan terkelola dicatat sebagai Lokasi Penyimpanan di Katalog Unity.

Anda dapat menentukan lokasi penyimpanan terkelola yang sama untuk beberapa skema dan katalog.

Hak istimewa yang diperlukan

Pengguna yang memiliki CREATE MANAGED STORAGE hak istimewa di lokasi eksternal dapat mengonfigurasi lokasi penyimpanan terkelola selama pembuatan katalog atau skema.

Admin akun dapat menambahkan lokasi penyimpanan terkelola opsional di tingkat metastore.

Pengguna dengan MANAGE hak istimewa dan USE CATALOG pemilik katalog dapat menambahkan lokasi penyimpanan terkelola ke katalog asing.

Untuk mengubah lokasi penyimpanan terkelola untuk katalog atau skema standar, Anda harus menjadi pemilik katalog atau skema atau memiliki MANAGE hak istimewa di dalamnya, dan memiliki CREATE MANAGED STORAGE hak istimewa pada lokasi eksternal target.

Mengatur lokasi penyimpanan terkelola untuk metastore

Untuk mengatur lokasi penyimpanan terkelola untuk metastore, lihat Menambahkan penyimpanan terkelola ke metastore yang sudah ada.

Mengatur lokasi penyimpanan terkelola untuk katalog standar

Atur lokasi penyimpanan terkelola untuk katalog standar dengan menggunakan MANAGED LOCATION kata kunci selama pembuatan katalog, seperti dalam contoh berikut:

CREATE CATALOG <catalog-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

String MANAGED LOCATION , termasuk skema dan jalur URI. Harus 512 karakter atau kurang.

Anda juga dapat menggunakan Catalog Explorer untuk mengatur lokasi penyimpanan terkelola untuk katalog. Lihat "Buat katalog".

Mengubah lokasi penyimpanan terkelola untuk katalog standar

Berlaku untuk:dicentang ya Databricks SQL dicentang ya Databricks Runtime 18.1 ke atas

Untuk mengubah lokasi penyimpanan terkelola untuk katalog yang ada, gunakan ALTER CATALOG SET MANAGED LOCATION.

Nota

Mengubah lokasi penyimpanan terkelola hanya memengaruhi tabel dan volume terkelola baru yang dibuat setelah perubahan. Objek terkelola yang ada tidak dipindahkan ke lokasi baru.

ALTER CATALOG <catalog-name>
SET MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

String MANAGED LOCATION , termasuk skema dan jalur URI. Harus 512 karakter atau kurang.

Mengatur lokasi penyimpanan terkelola untuk katalog asing

Anda dapat mengatur lokasi penyimpanan terkelola untuk katalog asing menggunakan Catalog Explorer.

  1. Masuk ke ruang kerja yang ditautkan ke metastore.
  2. Klik ikon Data.Katalog.
  3. Di panel Katalog , temukan katalog dan klik namanya.
  4. Di bawah Lokasi penyimpanan, klik Tambahkan lokasi penyimpanan.
  5. Di Pilih lokasi eksternal, pilih lokasi eksternal atau buat lokasi baru dan tentukan jalurnya.
  6. Kliklah Simpan.

Mengatur lokasi penyimpanan terkelola untuk skema

Atur lokasi penyimpanan terkelola untuk skema dengan menggunakan MANAGED LOCATION kata kunci selama pembuatan skema, seperti dalam contoh berikut:

CREATE SCHEMA <catalog>.<schema-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

String MANAGED LOCATION , termasuk skema dan jalur URI. Harus 512 karakter atau kurang.

Anda juga dapat menggunakan Catalog Explorer untuk mengatur lokasi penyimpanan terkelola untuk skema. Lihat Membuat skema.

Mengubah lokasi penyimpanan terkelola untuk skema

Berlaku untuk:dicentang ya Databricks SQL dicentang ya Databricks Runtime 18.1 ke atas

Untuk mengubah lokasi penyimpanan terkelola untuk skema yang ada, gunakan ALTER SCHEMA SET MANAGED LOCATION.

Nota

Mengubah lokasi penyimpanan terkelola hanya memengaruhi tabel dan volume terkelola baru yang dibuat setelah perubahan. Objek terkelola yang ada tidak dipindahkan ke lokasi baru.

ALTER SCHEMA <catalog>.<schema-name>
SET MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

String MANAGED LOCATION , termasuk skema dan jalur URI. Harus 512 karakter atau kurang.

Langkah berikutnya

Katalog Unity menggunakan lokasi penyimpanan terkelola secara otomatis saat Anda membuat tabel terkelola dan volume terkelola. Lihat tabel terkelola Unity Catalog di Azure Databricks untuk Delta Lake dan Apache Iceberg dan Apa itu volum Unity Catalog?.