Bagikan melalui


Menginstal perpustakaan dari penyimpanan objek

Artikel ini memandu Anda melalui langkah-langkah yang diperlukan untuk menginstal pustaka dari penyimpanan objek cloud di Azure Databricks.

Catatan

Artikel ini mengacu pada penyimpanan objek cloud sebagai konsep umum, dan mengasumsikan bahwa Anda berinteraksi langsung dengan data yang disimpan dalam penyimpanan objek menggunakan URI. Databricks merekomendasikan penggunaan volume Unity Catalog untuk mengonfigurasi akses ke file di penyimpanan objek cloud. Lihat Apa itu volume di Katalog Unity?.

Anda dapat menyimpan pustaka JAR dan Python Whl kustom di penyimpanan objek cloud, alih-alih menyimpannya di akar DBFS. Lihat Pustaka cakupan komputasi untuk detail kompatibilitas pustaka lengkap.

Penting

Pustaka dapat diinstal dari DBFS saat menggunakan Databricks Runtime 14.3 LTS dan di bawahnya. Namun, setiap pengguna ruang kerja dapat memodifikasi file pustaka yang disimpan di DBFS. Untuk meningkatkan keamanan pustaka di ruang kerja Azure Databricks, menyimpan file pustaka di akar DBFS tidak digunakan lagi dan dinonaktifkan secara default di Databricks Runtime 15.1 ke atas. Lihat Menyimpan pustaka di akar DBFS tidak digunakan lagi dan dinonaktifkan secara default.

Sebagai gantinya, Databricks merekomendasikan mengunggah semua pustaka, termasuk pustaka Python, file JAR, dan konektor Spark, ke file ruang kerja atau volume Katalog Unity, atau menggunakan repositori paket pustaka. Jika beban kerja Anda tidak mendukung pola ini, Anda juga dapat menggunakan pustaka yang disimpan di penyimpanan objek cloud.

Memuat pustaka ke penyimpanan objek

Anda dapat memuat pustaka ke penyimpanan objek dengan cara yang sama seperti Anda memuat file lain. Anda harus memiliki izin yang tepat di penyedia cloud Anda untuk membuat kontainer penyimpanan objek baru atau memuat file ke penyimpanan objek cloud.

Memberikan izin baca-saja untuk penyimpanan objek

Databricks merekomendasikan untuk mengonfigurasi semua hak istimewa yang terkait dengan penginstalan pustaka dengan izin baca-saja.

Azure Databricks memungkinkan Anda menetapkan izin keamanan ke kluster individual yang mengatur akses ke data di penyimpanan objek cloud. Kebijakan ini dapat diperluas untuk menambahkan akses baca-saja ke penyimpanan objek cloud yang berisi pustaka.

Catatan

Di Databricks Runtime 12.2 LTS dan di bawahnya, Anda tidak dapat memuat pustaka JAR saat menggunakan kluster dengan mode akses standar (sebelumnya mode akses bersama). Di Databricks Runtime 13.3 LTS ke atas, Anda harus menambahkan pustaka JAR ke daftar izin Unity Catalog. Lihat pustaka Allowlist dan skrip inisialisasi di komputer dengan mode akses standar (sebelumnya mode akses bersama).

Databricks merekomendasikan penggunaan perwakilan layanan ID Microsoft Entra untuk mengelola akses ke pustaka yang disimpan di Azure Data Lake Storage. Gunakan dokumentasi tertaut berikut untuk menyelesaikan penyiapan ini:

  1. Buat perwakilan layanan dengan izin untuk membaca dan mendata pada blob yang Anda inginkan. Lihat Mengakses penyimpanan menggunakan perwakilan layanan & ID Microsoft Entra(Azure Active Directory).

  2. Simpan kredensial Anda menggunakan rahasia. Lihat mengelola rahasia.

  3. Atur properti dalam konfigurasi Spark dan variabel lingkungan saat membuat kluster, seperti dalam contoh berikut:

    Konfigurasi Spark:

    spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth
    spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id>
    spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}}
    spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
    

    Variabel lingkungan:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (Opsional) Refaktor skrip inisialisasi menggunakan azcopy atau Azure CLI.

    Anda dapat mereferensikan variabel lingkungan yang ditetapkan selama konfigurasi kluster dalam skrip init Anda untuk meneruskan kredensial yang disimpan sebagai rahasia untuk validasi.

Menginstal perpustakaan pada kluster

Untuk menginstal pustaka yang disimpan di penyimpanan objek cloud ke kluster, selesaikan langkah-langkah berikut:

  1. Pilih kluster dari daftar di antarmuka pengguna kluster.
  2. Pilih tab Pustaka.
  3. Pilih opsi Jalur File /ADLS.
  4. Berikan jalur URI lengkap ke objek pustaka (misalnya, abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/library.whl).
  5. Klik Pasang.

Anda juga dapat menginstal pustaka menggunakan REST API atau CLI.

Menginstal pustaka ke buku catatan

Anda dapat menggunakan %pip untuk menginstal file wheel Python kustom yang disimpan dalam penyimpanan objek yang terlingkup ke SparkSession terisolasi dari buku catatan. Untuk menggunakan metode ini, Anda harus menyimpan pustaka di penyimpanan objek yang dapat dibaca secara publik atau menggunakan URL yang telah ditandatangani sebelumnya.

Lihat pustaka Python yang diterapkan pada notebook.

Catatan

Pustaka JAR tidak dapat diinstal di buku catatan. Anda harus menginstal pustaka JAR di tingkat kluster.