Bagikan melalui


Membuat metastore Unity Catalog

Artikel ini memperlihatkan cara membuat metastore Katalog Unity dan menautkannya ke ruang kerja.

Penting

Untuk ruang kerja yang diaktifkan untuk Katalog Unity secara otomatis, instruksi dalam artikel ini tidak perlu. Databricks mulai mengaktifkan ruang kerja baru untuk Unity Catalog secara otomatis pada 9 November 2023, dengan peluncuran berlangsung secara bertahap di seluruh akun. Anda harus mengikuti instruksi dalam artikel ini hanya jika Anda memiliki ruang kerja dan belum memiliki metastore di wilayah ruang kerja Anda. Untuk menentukan apakah metastore sudah ada di wilayah Anda, lihat Pengaktifan Otomatis Katalog Unity.

Metastore adalah wadah objek tingkat-atas di Katalog Unity. Metadata Unity Catalog mendaftarkan metadata tentang objek yang dapat diamankan (seperti tabel, volume, lokasi eksternal, dan berbagi) dan izin yang mengatur akses ke objek tersebut. Setiap metastore mengekspos namespace layanan 3 tingkat (catalog.schema.table) tempat data dapat diatur. Anda harus memiliki satu metastore untuk setiap wilayah tempat organisasi Anda beroperasi. Untuk bekerja dengan Katalog Unity, pengguna harus berada di ruang kerja yang dilampirkan ke metastore di wilayah mereka.

Untuk membuat metastore, Anda melakukan hal berikut:

  1. Di akun Azure Anda, secara opsional buat lokasi penyimpanan untuk penyimpanan tingkat metastore tabel dan volume terkelola.

    Untuk informasi guna membantu Anda memutuskan apakah Anda memerlukan penyimpanan tingkat metastore, lihat (Opsional) Membuat penyimpanan tingkat metastore dan Data dipisahkan secara fisik dalam penyimpanan.

  2. Di akun Azure Anda, buat identitas terkelola Azure atau perwakilan layanan yang memberikan akses ke lokasi penyimpanan tersebut.

  3. Di Azure Databricks, buat metastore, lampirkan lokasi penyimpanan, dan tetapkan ruang kerja ke metastore.

Catatan

Selain pendekatan yang dijelaskan dalam artikel ini, Anda juga dapat membuat metastore dengan menggunakan penyedia Databricks Terraform, khususnya sumber daya databricks_metastore. Untuk mengaktifkan Katalog Unity untuk mengakses metastore, gunakan databricks_metastore_data_access. Untuk menautkan ruang kerja ke metastore, gunakan databricks_metastore_assignment.

Sebelum Anda mulai

Sebelum memulai, Anda harus membiasakan diri dengan konsep Unity Catalog dasar, termasuk metastores dan penyimpanan terkelola. Lihat Apakah itu Katalog Unity?.

Anda juga harus mengonfirmasi bahwa Anda memenuhi persyaratan berikut untuk semua langkah penyiapan:

  • Anda harus menjadi admin akun Azure Databricks.

    Admin akun Azure Databricks pertama harus merupakan Administrator Global ID Microsoft Entra (sebelumnya Azure Active Directory) pada saat mereka pertama kali masuk ke konsol akun Azure Databricks. Setelah masuk pertama kali, pengguna tersebut menjadi admin akun Azure Databricks dan tidak lagi memerlukan peran Administrator Global ID Microsoft Entra untuk mengakses akun Azure Databricks. Admin akun pertama dapat menetapkan pengguna di penyewa ID Microsoft Entra sebagai admin akun tambahan (yang dapat menetapkan lebih banyak admin akun). Admin akun tambahan tidak memerlukan peran tertentu dalam ID Microsoft Entra.

  • Ruang kerja yang Anda lampirkan ke metastore harus ada di paket Azure Databricks Premium.

  • Jika Anda ingin menyiapkan penyimpanan akar tingkat metastore, Anda harus memiliki izin untuk membuat yang berikut ini di penyewa Azure Anda:

Langkah 1 (Opsional): Membuat kontainer penyimpanan untuk penyimpanan terkelola tingkat metastore

Dalam langkah ini, yang bersifat opsional, Anda membuat akun penyimpanan dan kontainer untuk menyimpan tabel terkelola dan data volume di tingkat metastore. Untuk menentukan apakah Anda memerlukan penyimpanan tingkat metastore, lihat (Opsional) Membuat penyimpanan tingkat metastore.

  1. Buat akun penyimpanan untuk Azure Data Lake Storage Gen2.

    Akun penyimpanan ini akan berisi tabel dan volume terkelola Unity Catalog. Ini harus merupakan akun Azure Data Lake Storage Gen2 di wilayah yang sama dengan ruang kerja Azure Databricks Anda. Lihat Membuat akun penyimpanan untuk digunakan dengan Azure Data Lake Storage Gen2.

  2. Buat kontainer penyimpanan yang akan menyimpan tabel terkelola dan data volume Anda di tingkat metastore.

    Anda hanya dapat membuat satu metastore per wilayah. Anda harus menggunakan wilayah yang sama untuk metastore dan kontainer penyimpanan Anda.

    Lokasi penyimpanan tingkat metastore ini dapat ditimpa di tingkat katalog dan skema. Lihat Penyimpanan terkelola.

    Buat catatan URI ADLSv2 untuk kontainer, yang dalam format berikut:

    abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
    

    Pada langkah-langkah berikut, ganti <storage-container> dengan URI ini.

Langkah 2 (Opsional): Buat identitas terkelola untuk mengakses lokasi penyimpanan terkelola

Dalam langkah ini, yang diperlukan hanya jika Anda menyelesaikan langkah 1, Anda membuat konektor akses Azure Databricks yang menyimpan identitas terkelola dan memberinya akses ke kontainer penyimpanan.

Ikuti instruksi dalam Menggunakan identitas terkelola Azure di Unity Catalog untuk mengakses penyimpanan.

Catatan

Anda dapat menggunakan identitas terkelola Azure atau perwakilan layanan sebagai identitas yang memberikan akses ke kontainer penyimpanan metastore. Databricks sangat merekomendasikan identitas terkelola, karena tidak mengharuskan Anda untuk mempertahankan kredensial atau memutar rahasia, dan mereka memungkinkan Anda terhubung ke akun Azure Data Lake Storage Gen2 yang dilindungi oleh firewall penyimpanan. Jika Anda ingin menggunakan perwakilan layanan, lihat Membuat penyimpanan terkelola Katalog Unity menggunakan perwakilan layanan (warisan).

Langkah 3: Buat metastore dan lampirkan ruang kerja

Setiap wilayah Azure Databricks memerlukan metastore Unity Catalog sendiri.

Anda membuat metastore untuk setiap wilayah tempat organisasi Anda beroperasi. Anda dapat menautkan masing-masing metastore regional ini ke sejumlah ruang kerja di wilayah tersebut. Setiap ruang kerja yang ditautkan memiliki tampilan data yang sama di metastore, dan kontrol akses data dapat dikelola di seluruh ruang kerja. Anda dapat mengakses data di metore lain menggunakan Berbagi Delta.

Jika Anda memilih untuk membuat penyimpanan tingkat metastore, metastore akan menggunakan kontainer penyimpanan dan identitas terkelola Azure yang Anda buat di langkah-langkah sebelumnya.

Membuat metastore.

  1. Jika Anda memilih untuk membuat penyimpanan tingkat metastore, pastikan Anda memiliki jalur ke kontainer penyimpanan dan ID sumber daya konektor akses Azure Databricks yang Anda buat di tugas sebelumnya.

  2. Masuk ke ruang kerja Anda sebagai admin akun.

  3. Klik nama pengguna Anda di bilah atas ruang kerja Azure Databricks dan pilih Kelola Akun.

  4. Masuk ke konsol akun Azure Databricks.

  5. Klik Ikon katalogKatalog.

  6. Klik Buat metastore.

  7. Masukkan yang berikut:

    • Nama untuk metastore.

    • Wilayah tempat metastore akan disebarkan.

      Ini harus berada di wilayah yang sama dengan ruang kerja yang ingin Anda gunakan untuk mengakses data. Jika Anda memilih untuk membuat kontainer penyimpanan untuk penyimpanan tingkat metastore, wilayah tersebut juga harus sama.

    • (Opsional) Jalur ADLS Gen 2: Masukkan jalur ke kontainer penyimpanan yang akan Anda gunakan sebagai penyimpanan akar untuk metastore.

      Prefiks abfss:// ditambahkan secara otomatis.

    • (Opsional) ID access Koneksi or: Masukkan ID sumber daya konektor akses Azure Databricks dalam format:

      /subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
      
  8. Klik Buat.

  9. Ketika diminta, pilih ruang kerja untuk ditautkan ke metastore.

    Untuk detailnya, lihat Mengaktifkan ruang kerja untuk Katalog Unity.

  10. Mentransfer peran admin metastore ke grup.

    Pengguna yang membuat metastore adalah pemiliknya, juga disebut admin metastore. Admin metastore dapat membuat objek tingkat atas di metastore seperti katalog dan dapat mengelola akses ke tabel dan objek lainnya. Databricks merekomendasikan agar Anda menetapkan ulang peran admin metastore ke grup. Lihat Menetapkan admin metastore.

  11. Aktifkan manajemen unggahan Azure Databricks ke volume terkelola.

    Azure Databricks menggunakan berbagi sumber daya lintas asal (CORS) untuk mengunggah data ke volume terkelola di Unity Catalog. Lihat Mengonfigurasi akun penyimpanan Katalog Unity untuk CORS.

Langkah berikutnya

Menambahkan penyimpanan terkelola ke metastore yang sudah ada

Penyimpanan terkelola tingkat metastore bersifat opsional, dan tidak disertakan untuk metastore yang dibuat secara otomatis. Anda mungkin ingin menambahkan penyimpanan tingkat metastore ke metastore Jika Anda lebih suka model isolasi data yang menyimpan data secara terpusat untuk beberapa ruang kerja. Anda memerlukan penyimpanan tingkat metastore jika Anda ingin berbagi buku catatan menggunakan Berbagi Delta atau jika Anda adalah mitra Azure Databricks yang menggunakan lokasi penahapan pribadi.

Lihat juga Penyimpanan terkelola.

Persyaratan

  • Anda harus memiliki setidaknya satu ruang kerja yang dilampirkan ke metastore Unity Catalog.
  • Izin Azure Databricks diperlukan:
    • Untuk membuat lokasi eksternal, Anda harus menjadi admin metastore atau pengguna dengan CREATE EXTERNAL LOCATION hak istimewa dan CREATE STORAGE CREDENTIAL .
    • Untuk menambahkan lokasi penyimpanan ke definisi metastore, Anda harus menjadi admin akun. Untuk petunjuk tentang mengaktifkan peran admin akun di akun Anda, lihat Menetapkan admin akun pertama Anda.
  • Izin penyewa Azure diperlukan:
    • Izin untuk membuat akun penyimpanan untuk digunakan dengan Azure Data Lake Storage Gen2. Akun penyimpanan ini harus memiliki namespace hierarkis. Lihat Membuat akun penyimpanan untuk digunakan dengan Azure Data Lake Storage Gen2.
    • Izin untuk membuat sumber daya baru untuk menyimpan identitas terkelola yang ditetapkan sistem. Ini mengharuskan Anda menjadi Kontributor atau Pemilik grup sumber daya dalam langganan apa pun di penyewa.

Langkah 1: Membuat lokasi penyimpanan

Ikuti instruksi di Langkah 1 (Opsional): Buat kontainer penyimpanan untuk penyimpanan terkelola tingkat metastore dan Langkah 2 (Opsional): Buat identitas terkelola untuk mengakses lokasi penyimpanan terkelola untuk membuat kontainer penyimpanan di Azure Data Lake Storage Gen2 dan konektor akses Azure Databricks yang menyimpan identitas terkelola yang memiliki akses ke kontainer penyimpanan.

Langkah 2: Membuat lokasi eksternal di Unity Catalog

Dalam langkah ini, Anda membuat lokasi eksternal di Unity Catalog yang mereferensikan jalur ADLS Gen 2 yang baru saja Anda buat.

  1. Buat kredensial penyimpanan.

    Kredensial penyimpanan akan mewakili identitas terkelola Azure yang Anda buat di Langkah 1: Membuat lokasi penyimpanan.

    Ikuti instruksi dalam Membuat kredensial penyimpanan untuk menyambungkan ke Azure Data Lake Storage Gen2.

  2. Buat lokasi eksternal yang mereferensikan kredensial penyimpanan yang Anda buat di langkah sebelumnya dan kontainer penyimpanan ADLS Gen 2 yang Anda buat di Langkah 1: Buat lokasi penyimpanan.

    Ikuti instruksi di Membuat lokasi eksternal untuk menyambungkan penyimpanan cloud ke Azure Databricks

  3. Berikan diri Anda CREATE MANAGED STORAGE hak istimewa di lokasi eksternal.

    1. Klik nama lokasi eksternal untuk membuka panel detail.
    2. Pada tab Izin , klik Berikan.
    3. Pada dialog Berikan pada<external location>, pilih diri Anda di bidang Prinsipal dan pilih CREATE MANAGED STORAGE.
    4. Klik Berikan.

Langkah 3: Tambahkan lokasi penyimpanan ke metastore

Setelah Anda membuat lokasi eksternal yang mewakili wadah penyimpanan metastore, Anda dapat menambahkannya ke metastore.

  1. Sebagai admin akun, masuk ke konsol akun.

  2. Klik Ikon katalogKatalog.

  3. Klik nama metastore.

  4. Konfirmasikan bahwa Anda adalah Admin Metastore.

    Jika tidak, klik Edit dan tetapkan diri Anda sebagai admin metastore. Anda dapat menghapus tugas sendiri ketika Anda selesai dengan prosedur ini.

  5. Pada tab Konfigurasi, di samping jalur ADLS Gen 2, klik Atur.

  6. Pada dialog Atur akar metastore, masukkan jalur ADLS Gen 2 yang Anda gunakan untuk membuat lokasi eksternal, dan klik Perbarui.

    Anda tidak dapat mengubah jalur ini setelah Anda menyetelnya.

Menghapus metastore

Jika Anda menutup akun Azure Databricks atau memiliki alasan lain untuk menghapus akses ke data yang dikelola oleh metastore Katalog Unity, Anda dapat menghapus metastore.

Peringatan

Semua objek yang dikelola oleh metastore akan menjadi tidak dapat diakses menggunakan ruang kerja Azure Databricks. Tindakan ini tidak dapat dibatalkan.

Data dan metadata tabel terkelola akan dihapus secara otomatis setelah 30 hari. Data tabel eksternal di penyimpanan cloud Anda tidak terpengaruh oleh penghapusan metastore.

Untuk menghapus metastore:

  1. Sebagai admin metastore, masuk ke konsol akun.
  2. Klik Ikon katalogKatalog.
  3. Klik nama metastore.
  4. Pada tab Konfigurasi, klik menu tiga tombol di ujung kanan atas dan pilih Hapus.
  5. Pada dialog konfirmasi, masukkan nama metastore dan klik Hapus.