Bagikan melalui


Menginstal pustaka 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 Katalog Unity?.

Anda dapat menyimpan pustaka JAR dan Python Whl kustom di penyimpanan objek cloud, alih-alih menyimpannya di akar DBFS. Lihat Pustaka cakupan kluster 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 untuk 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 ke 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 bersama. Di Databricks Runtime 13.3 LTS ke atas, Anda harus menambahkan pustaka JAR ke daftar izin Unity Catalog. Lihat Izinkan pustaka dan skrip init pada komputasi bersama.

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

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

  2. Simpan kredensial Anda menggunakan rahasia. Lihat rahasianya.

  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 init 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 pustaka ke 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 roda Python kustom yang disimpan dalam penyimpanan objek yang dilingkup ke SparkSession yang terisolasi 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 cakupan buku catatan.

Catatan

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