Mengelola pustaka Apache Spark di Microsoft Fabric

Pustaka adalah paket kode yang dapat digunakan kembali — seperti paket Python dari PyPI, paket R dari CRAN, atau JAR Java — yang dapat Anda impor ke notebook dan definisi pekerjaan Spark untuk menambahkan fungsionalitas tanpa menulisnya dari awal. Microsoft Fabric menyediakan beberapa mekanisme untuk membantu Anda mengelola dan menggunakan pustaka.

  • Pustaka bawaan: Setiap runtime Fabric Spark menyediakan serangkaian pustaka populer yang telah diinstal sebelumnya. Anda dapat menemukan daftar pustaka bawaan lengkap di Fabric Spark Runtime.
  • Pustaka publik: Pustaka publik bersumber dari repositori seperti PyPI dan Conda, yang saat ini didukung.
  • Pustaka kustom: Pustaka kustom merujuk ke kode yang Anda atau organisasi Anda bangun. Fabric mendukungnya dalam format .whl, .jar, dan .tar.gz . Fabric hanya mendukung .tar.gz untuk bahasa R. Untuk pustaka kustom Python, gunakan format .whl .

Ringkasan praktik terbaik manajemen pustaka

Skenario berikut menjelaskan praktik terbaik saat menggunakan pustaka di Microsoft Fabric.

Mode penerbitan lingkungan (Cepat vs Penuh)

Saat menginstal pustaka di lingkungan Fabric, Anda memilih mode penerbitan yang mengontrol bagaimana pustaka dikirimkan ke sesi Spark Anda.

  • Mode cepat diterbitkan dalam waktu sekitar 5 detik. Pustaka menginstal saat sesi buku catatan dimulai daripada selama penerbitan. Jika paket mode Cepat memiliki nama yang sama dengan paket mode Penuh, versi Mode cepat akan mengambil alih versi Mode penuh hanya untuk sesi tersebut. Gunakan mode Cepat untuk pengembangan notebook yang cepat dan berulang dan eksperimen tahap awal.
  • Mode penuh membuat rekam jepret pustaka yang stabil dan dapat direproduksi. Penerbitan biasanya membutuhkan waktu 3 hingga 6 menit karena sistem menyelesaikan dependensi dan memvalidasi kompatibilitas. Startup sesi menambahkan 1 hingga 3 menit untuk penyebaran dependensi, tergantung pada ukuran dependensi. Gunakan Mode penuh untuk alur, eksekusi terjadwal, dan beban kerja bersama yang memerlukan lingkungan yang konsisten dan dapat direproduksi.

Mode penuh dengan kumpulan langsung kustom

Untuk menggabungkan stabilitas dari Mode Penuh dengan memulai sesi yang cepat, konfigurasikan kumpulan langsung kustom yang terhubung ke lingkungan Mode Penuh. Kolam langsung menghidrasi kluster dengan cuplikan pustaka mode penuh terlebih dahulu, memungkinkan waktu mulai sesi sekitar 5 detik sambil mempertahankan cuplikan yang dapat direproduksi.

Untuk detail tentang setiap mode, lihat Mengelola pustaka di lingkungan Fabric.

Skenario 1: Admin menetapkan pustaka default untuk ruang kerja

Untuk mengatur pustaka default, Anda harus menjadi administrator ruang kerja. Sebagai admin, Anda dapat melakukan tugas-tugas ini:

  1. Ciptakan lingkungan baru
  2. Menginstal pustaka yang diperlukan di lingkungan
  3. Lampirkan lingkungan ini sebagai default ruang kerja

Saat notebook dan definisi pekerjaan Spark Anda terhubung ke Pengaturan Ruang Kerja, sesi dimulai dengan pustaka yang terpasang di lingkungan default ruang kerja.

Skenario 2: Mempertahankan spesifikasi pustaka untuk satu atau beberapa item kode

Jika Anda memiliki pustaka umum untuk item kode yang berbeda dan tidak perlu sering memperbaruinya, instal pustaka di lingkungan dan lampirkan ke item kode.

Waktu penerbitan bergantung pada mode yang Anda pilih. Mode cepat diterbitkan dalam waktu sekitar 5 detik dan menginstal pustaka pada awal sesi. Mode penuh menyelesaikan dependensi dan membuat rekam jepret yang stabil; biasanya membutuhkan waktu 3 hingga 6 menit untuk diterbitkan, dan startup sesi menambahkan 1 hingga 3 menit untuk penyebaran dependensi.

Manfaat dari pendekatan ini adalah bahwa pustaka yang berhasil diinstal dijamin tersedia ketika sesi Spark dimulai dengan lingkungan yang terpasang. Ini menghemat upaya untuk memelihara pustaka umum bagi proyek Anda dan direkomendasikan untuk skenario pipeline karena stabilitasnya.

Skenario 3: Penginstalan sebaris dalam eksekusi interaktif

Jika Anda menulis kode secara interaktif di buku catatan, penginstalan sebaris adalah pendekatan terbaik untuk menambahkan pustaka PyPI atau conda atau memvalidasi pustaka kustom untuk penggunaan satu kali. Perintah sebaris hanya menyediakan pustaka untuk sesi Spark pada notebook saat ini saja—mereka memungkinkan penginstalan yang cepat, tetapi pustaka yang diinstal tidak akan bertahan di luar sesi tersebut.

Karena %pip install dapat menghasilkan pohon dependensi yang berbeda setiap kali dijalankan, yang mungkin menyebabkan konflik perpustakaan, perintah sebaris dinonaktifkan secara default dalam eksekusi pipeline dan tidak disarankan untuk pipeline.

Catatan

Pustaka yang diinstal melalui perintah sebaris (seperti %pip install atau %conda install) dan pustaka yang ditambahkan dari folder Sumber Daya buku catatan atau lingkungan dilingkupkan ke sesi atau buku catatan saat ini. Mereka tidak terpengaruh oleh publikasi lingkungan dalam mode cepat atau mode penuh.

Ringkasan jenis pustaka yang didukung

Jenis perpustakaan Manajemen pustaka lingkungan Penginstalan sebaris
Python Public (PyPI & Conda) Didukung Didukung
Python Custom (.whl) Didukung Didukung
R Publik (CRAN) Tidak didukung Didukung
Kustom R (.tar.gz) Didukung sebagai pustaka khusus Didukung
Jar Didukung sebagai pustaka khusus Didukung

Instalasi Langsung

Perintah sebaris memungkinkan Anda mengelola pustaka dalam sesi buku catatan individual.

Penginstalan sebaris Python

Sistem memulai ulang penerjemah Python untuk menerapkan perubahan pustaka. Variabel apa pun yang ditentukan sebelum Anda menjalankan sel perintah hilang. Letakkan semua perintah untuk menambahkan, menghapus, atau memperbarui paket Python di awal buku catatan Anda.

Perintah sebaris untuk mengelola pustaka Python dinonaktifkan dalam aliran buku catatan secara default. Untuk mengaktifkan %pip install untuk sebuah pipeline, tambahkan _inlineInstallationEnabled sebagai parameter boolean yang diatur ke True dalam parameter aktivitas notebook.

Cuplikan layar memperlihatkan konfigurasi mengaktifkan penginstalan pip untuk eksekusi alur notebook.

Catatan

Perintah %pip install dapat menghasilkan hasil yang berbeda-beda setiap kali dijalankan. Instal library dalam lingkungan dan kemudian gunakan lingkungan tersebut dalam alur kerja. Perintah %pip install tidak didukung dalam mode Konkurenitas Tinggi. Dalam eksekusi referensi buku catatan, perintah sebaris untuk mengelola pustaka Python tidak didukung. Hapus perintah sebaris ini dari buku catatan yang direferensikan untuk memastikan eksekusi yang benar.

Gunakan %pip alih-alih !pip. Perintah !pip adalah perintah shell bawaan IPython dengan batasan berikut:

  • !pip menginstal paket hanya pada simpul driver, bukan pada simpul pelaksana.
  • Paket yang diinstal melalui !pip tidak memperhitungkan konflik dengan paket built-in atau paket yang sudah diimpor dalam notebook.

%pip menangani skenario ini. Pustaka yang diinstal melalui %pip tersedia pada simpul driver dan eksekutor dan berlaku bahkan jika pustaka sudah diimpor.

Petunjuk / Saran

Perintah %conda install biasanya membutuhkan waktu lebih lama dari %pip install perintah untuk menginstal pustaka Python baru. Ini memeriksa seluruh ketergantungan dan menyelesaikan konflik.

Gunakan %conda install untuk keandalan dan stabilitas yang lebih baik. Gunakan %pip install jika Anda yakin bahwa pustaka yang ingin Anda instal tidak bertentangan dengan pustaka yang telah diinstal sebelumnya di lingkungan runtime.

Untuk semua perintah dan klarifikasi sebaris Python yang tersedia, lihat perintah %pip dan perintah %conda.

Kelola pustaka publik Python melalui penginstalan langsung

Contoh ini memperlihatkan cara menggunakan perintah sebaris untuk mengelola pustaka. Misalkan Anda ingin menggunakan altair, pustaka visualisasi yang kuat untuk Python, untuk eksplorasi data satu kali, dan pustaka tidak diinstal di ruang kerja Anda. Contoh berikut menggunakan perintah conda untuk mengilustrasikan langkah-langkahnya.

Anda bisa menggunakan perintah sebaris untuk mengaktifkan altair pada sesi buku catatan Anda tanpa memengaruhi sesi lainnya atau item lainnya dalam buku catatan tersebut.

  1. Jalankan perintah berikut dalam sel kode buku catatan. Perintah pertama menginstal pustaka altair . Selain itu, instal vega_datasets, yang berisi model semantik yang dapat Anda gunakan untuk memvisualisasikan.

    %conda install altair          # install latest version through conda command
    %conda install vega_datasets   # install latest version through conda command
    

    Output sel menunjukkan hasil penginstalan.

  2. Impor paket dan model semantik dengan menjalankan kode berikut di sel buku catatan lain.

    import altair as alt
    from vega_datasets import data
    
  3. Sekarang Anda dapat bermain-main dengan pustaka altair berlingkup sesi.

    # load a simple dataset as a pandas DataFrame
    cars = data.cars()
    alt.Chart(cars).mark_point().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
    ).interactive()
    

Mengelola pustaka kustom Python melalui penginstalan dalam baris

Anda bisa mengunggah pustaka kustom Python Anda ke folder sumber daya buku catatan Anda atau lingkungan terlampir. Folder sumber daya adalah sistem file bawaan yang disediakan oleh setiap notebook dan lingkungan. Lihat Sumber daya Notebook untuk detail selengkapnya. Setelah mengunggah pustaka, Anda dapat menyeret dan meletakkannya ke dalam sel kode untuk menghasilkan perintah instal secara otomatis. Atau Anda dapat menjalankan perintah berikut:

# install the .whl through pip command from the notebook built-in folder
%pip install "builtin/wheel_file_name.whl"             

Catatan

Pustaka kustom yang diinstal dari folder Resources melalui perintah langsung adalah per sesi dan per buku catatan. Mereka tidak terpengaruh oleh penerbitan lingkungan.

Penginstalan terintegrasi aplikasi R

Untuk mengelola pustaka R, Fabric mendukung install.packages(), remove.packages(), dan devtools:: perintah. Untuk semua perintah sebaris R yang tersedia dan penjelasannya, lihat install.packages command dan remove.package command.

Mengelola perpustakaan R publik secara langsung melalui instalasi sebaris

Ikuti contoh ini untuk menelusuri langkah-langkah menginstal pustaka publik R.

Untuk menginstal pustaka umpan R:

  1. Alihkan bahasa kerja ke SparkR (R) di pita buku catatan.

  2. Instal pustaka caesar dengan menjalankan perintah berikut ini di sel buku catatan.

    install.packages("caesar")
    
  3. Sekarang Anda dapat bereksperimen dengan pustaka caesar cakupan sesi dengan pekerjaan Spark.

    library(SparkR)
    sparkR.session()
    
    hello <- function(x) {
    library(caesar)
    caesar(x)
    }
    spark.lapply(c("hello world", "good morning", "good evening"), hello)
    

Mengelola pustaka Jar melalui instalasi langsung di dalam kode

Anda bisa menambahkan file .jar ke sesi buku catatan dengan perintah berikut.

%%configure -f
{
    "conf": {
        "spark.jars": "abfss://<<Lakehouse prefix>>.dfs.fabric.microsoft.com/<<path to JAR file>>/<<JAR file name>>.jar",
    }
}        

Sel kode di atas menggunakan penyimpanan lakehouse sebagai contohnya. Di penjelajah notebook, Anda dapat menyalin jalur ABFS lengkap file dan menggantinya dalam kode. Cuplikan layar perintah menu untuk mendapatkan jalur ABFS.