Mengelola pustaka Apache Spark di Microsoft Fabric

Pustaka adalah kumpulan kode prewritten yang dapat diimpor pengembang untuk menyediakan fungsionalitas. Dengan menggunakan pustaka, Anda dapat menghemat waktu dan upaya dengan tidak harus menulis kode dari awal untuk melakukan tugas umum. Sebagai gantinya, impor pustaka dan gunakan fungsi dan kelasnya untuk mencapai fungsionalitas yang diinginkan. 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 .

Manajemen pustaka dalam pengaturan ruang kerja

Penting

Manajemen pustaka di pengaturan ruang kerja tidak lagi didukung. Untuk memigrasikan pustaka ruang kerja dan properti Spark ke lingkungan default, lihat Memigrasikan pustaka ruang kerja dan properti Spark.

Ringkasan praktik terbaik manajemen pustaka

Skenario berikut menjelaskan praktik terbaik.

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

Notebook dan definisi pekerjaan Spark di ruang kerja dilampirkan ke pengaturan Ruang Kerja. Mereka memulai sesi dengan pustaka yang diinstal di lingkungan default ruang kerja.

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

Jika Anda ingin mempertahankan spesifikasi pustaka, instal pustaka di lingkungan dan lampirkan ke item kode.

Salah satu manfaat dari pendekatan ini adalah menghemat upaya menjalankan kode yang membutuhkan pustaka umum sepanjang waktu. Setelah berhasil diinstal di lingkungan, pustaka efektif di semua sesi Spark jika lingkungan terpasang.

Manfaat lainnya adalah pendekatan ini mendukung granularitas konfigurasi pustaka yang lebih rendah dari tingkat ruang kerja. Satu lingkungan dapat dilampirkan ke beberapa artefak kode. Jika Anda memiliki subset notebook atau definisi kerja Spark di satu ruang kerja yang memerlukan pustaka yang sama, lampirkan ke lingkungan yang sama. Administrator, anggota, atau kontributor ruang kerja dapat membuat, mengedit, dan melampirkan lingkungan.

Skenario 3: Penginstalan sebaris dalam eksekusi interaktif

Jika Anda tertarik dengan penggunaan satu kali, dalam notebook interaktif, pustaka yang tidak diinstal, penginstalan sebaris adalah opsi yang paling nyaman. Perintah sebaris di Fabric memungkinkan Anda membuat pustaka efektif dalam sesi Spark notebook saat ini. Pustaka tidak bertahan di berbagai sesi.

Pengguna yang memiliki izin untuk menjalankan buku catatan dapat menginstal pustaka lain di sesi Spark.

Ringkasan jenis pustaka yang didukung

Jenis pustaka 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 Didukung
Jar Didukung sebagai pustaka kustom Tidak didukung

Penting

Saat ini ada batasan pada pustaka .jar .

  • Untuk pengguna Scala, file .jar dapat berhasil diinstal di lingkungan tetapi tidak efektif untuk sesi Spark/Scala Anda. Penginstalan mengambil alih pustaka bawaan dengan pustaka yang berbeda. .jar baru berfungsi dalam sesi.
  • Untuk pengguna Python, semua file .jar saat ini tidak didukung di lingkungan. Mereka dapat berhasil diinstal di lingkungan tetapi tidak efektif dalam sesi PySpark.
  • Anda dapat menginstal file .jar di tingkat sesi buku catatan sebagai gantinya.

Penginstalan sebaris

Perintah sebaris mendukung pustaka Python dan pustaka R.

Penginstalan sebaris Python

Penerjemah Python memulai ulang untuk menerapkan perubahan pustaka. Variabel apa pun yang ditentukan sebelum Anda menjalankan sel perintah hilang. Kami sangat menyarankan Agar Anda menempatkan semua perintah untuk menambahkan, menghapus, atau memperbarui paket Python di awal buku catatan Anda.

Kami merekomendasikan %pip alih-alih !pip. !pip adalah perintah shell bawaan IPython, yang memiliki batasan berikut:

  • !pip hanya menginstal paket pada simpul driver, bukan simpul eksekutor.
  • Paket yang diinstal !pip melalui tidak memengaruhi konflik dengan paket bawaan atau apakah paket sudah diimpor dalam buku catatan.

Namun, %pip menangani skenario ini. Pustaka yang diinstal melalui %pip tersedia pada simpul driver dan eksekutor dan masih efektif bahkan pustaka sudah diimpor.

Tip

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

Anda mungkin ingin menggunakan %conda install untuk lebih banyak keandalan dan stabilitas. Anda dapat menggunakan %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.

Mengelola pustaka publik Python melalui penginstalan sebaris

Dalam contoh ini, lihat cara menggunakan perintah sebaris untuk mengelola pustaka. Misalkan Anda ingin menggunakan altair, pustaka visualisasi yang kuat untuk Python, untuk eksplorasi data satu kali. Misalkan 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 buku catatan atau item lainnya.

  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 yang terlingkup 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 sebaris

Anda dapat mengunggah pustaka kustom Python Anda ke folder File lakehouse yang dilampirkan ke buku catatan Anda. Buka lakehouse Anda, pilih ikon ... di folder File , dan unggah pustaka kustom.

Setelah unggahan Anda, gunakan perintah berikut untuk menginstal pustaka kustom ke sesi buku catatan Anda.

# install the .whl through pip command
%pip install /lakehouse/default/Files/wheel_file_name.whl             

Penginstalan sebaris R

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

Mengelola pustaka publik R melalui penginstalan 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 bermain-main 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 penginstalan sebaris

File .jar didukung pada 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 menggunakan penyimpanan Lakehouse sebagai contoh. Di penjelajah notebook, Anda dapat menyalin jalur ABFS file lengkap dan mengganti dalam kode. Cuplikan layar dapatkan jalur ABFS.