Bagikan melalui


Manajemen pustaka R

Pustaka menyediakan kode yang dapat digunakan kembali yang mungkin ingin Anda sertakan dalam program atau proyek untuk Microsoft Fabric Spark.

Microsoft Fabric mendukung runtime R dengan banyak paket R sumber terbuka populer, termasuk TidyVerse, yang telah diinstal sebelumnya. Saat instans Spark dimulai, pustaka ini disertakan secara otomatis dan tersedia untuk segera digunakan dalam notebook atau definisi tugas Spark.

Anda mungkin perlu memperbarui pustaka R Karena berbagai alasan. Misalnya, salah satu dependensi inti Anda merilis versi baru, atau tim Anda telah membangun paket kustom yang Anda butuhkan tersedia di kluster Spark Anda.

Ada dua jenis pustaka yang mungkin ingin Anda sertakan berdasarkan skenario Anda:

  • Pustaka umpan merujuk ke pustaka yang berada di sumber atau repositori publik, seperti CRAN atau GitHub.

  • Pustaka kustom adalah kode yang dibuat oleh Anda atau organisasi Anda, .tar.gz dapat dikelola melalui portal Manajemen Pustaka.

Ada dua tingkat paket yang diinstal pada Microsoft Fabric:

  • Environment: Mengelola perpustakaan melalui lingkungan untuk memanfaatkan kembali kumpulan perpustakaan yang sama di beberapa buku catatan atau tugas.

  • Sesi : Penginstalan tingkat sesi membuat lingkungan untuk sesi notebook tertentu. Perubahan pustaka tingkat sesi tidak dipertahankan di antara sesi.

Meringkas perilaku manajemen pustaka R yang tersedia saat ini:

Jenis Pustaka Penginstalan lingkungan Penginstalan tingkat sesi
Umpan R (CRAN) Tidak Didukung Didukung
Kustom R Didukung Didukung

Prasyarat

  • Dapatkan langganan Microsoft Fabric . Atau, daftar untuk uji coba Microsoft Fabric gratis.

  • Masuk ke Microsoft Fabric.

  • Gunakan pengalih pengalaman di sisi kiri bawah halaman beranda Anda untuk beralih ke Fabric.

    Cuplikan layar menu pengalih pengalaman, memperlihatkan tempat untuk memilih Ilmu Data.

Perpustakaan R pada tingkat sesi

Saat melakukan analisis data interaktif atau pembelajaran mesin, Anda mungkin mencoba paket yang lebih baru atau Anda mungkin memerlukan paket yang saat ini tidak tersedia di ruang kerja Anda. Alih-alih memperbarui pengaturan ruang kerja, Anda dapat menggunakan paket cakupan sesi untuk menambahkan, mengelola, dan memperbarui dependensi sesi.

  • Saat Anda menginstal pustaka yang dibatasi sesi, hanya notebook saat ini yang memiliki akses ke pustaka yang ditentukan.
  • Pustaka ini tidak memengaruhi sesi atau pekerjaan lain yang menggunakan kumpulan Spark yang sama.
  • Pustaka ini diinstal di atas pustaka dasar runtime dan pustaka tingkat kumpulan.
  • Perpustakaan notebook memiliki prioritas tertinggi.
  • Pustaka R yang cakupan sesinya tidak bertahan dalam sesi berikutnya. Pustaka ini diinstal pada awal setiap sesi ketika perintah penginstalan terkait dijalankan.
  • Pustaka R yang memiliki lingkup sesi diinstal secara otomatis di seluruh node pengemudi dan pekerja.

Nota

Perintah mengelola pustaka R dinonaktifkan saat menjalankan pekerjaan pipeline. Jika Anda ingin menginstal paket dalam pipeline, Anda harus menggunakan fitur manajemen library di tingkat workspace.

Menginstal paket R dari CRAN

Anda dapat dengan mudah menginstal pustaka R dari CRAN.

# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))

Anda juga dapat menggunakan rekam jepret CRAN sebagai repositori untuk memastikan mengunduh versi paket yang sama setiap kali.

# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")

Menginstal paket R menggunakan devtools

Pustaka devtools menyederhanakan pengembangan paket untuk mempercepat tugas umum. Pustaka ini terpasang dalam runtime Microsoft Fabric secara default.

Anda dapat menggunakan devtools untuk menentukan versi pustaka tertentu untuk diinstal. Pustaka ini diinstal di semua simpul dalam kluster.

# Install a specific version. 
install_version("caesar", version = "1.0.0")

Demikian pula, Anda dapat menginstal pustaka langsung dari GitHub.

# Install a GitHub library. 

install_github("jtilly/matchingR")

Saat ini, fungsi devtools berikut didukung dalam Microsoft Fabric:

Perintah Deskripsi
install_github() Menginstal paket R dari GitHub
install_gitlab() Menginstal paket R dari GitLab
install_bitbucket() Menginstal paket R dari BitBucket
install_url() Menginstal paket R dari URL sembarangan
install_git() Menginstal dari repositori git sembarang
install_local() Menginstal dari file lokal pada disk
install_version() Menginstal dari versi tertentu di CRAN

Menginstal pustaka kustom R

Untuk menggunakan pustaka kustom tingkat sesi, Anda harus terlebih dahulu mengunggahnya ke Lakehouse yang terlampir.

  1. Buka buku catatan tempat Anda ingin menggunakan pustaka kustom.

  2. Di sisi kiri, pilih Tambahkan untuk tambahkan lakehouse yang sudah ada atau membuat lakehouse baru.

    Cuplikan layar cara menambahkan lakehouse ke buku catatan Anda.

  3. Klik kanan atau pilih "..." di samping File untuk mengunggah file .tar.gz Anda.

    Cuplikan layar cara mengunggah file Anda ke folder Lakehouse Files.

  4. Setelah mengunggah, kembali ke buku catatan Anda. Gunakan perintah berikut untuk menginstal pustaka kustom ke sesi Anda:

    install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
    

Menampilkan pustaka yang terinstal

Kueri semua pustaka yang diinstal dalam sesi Anda menggunakan perintah library.

# query all the libraries installed in current session
library()

Gunakan fungsi packageVersion untuk memeriksa versi pustaka:

# check the package version
packageVersion("caesar")

Menghapus paket R dari sesi

Anda dapat menggunakan fungsi detach untuk menghapus pustaka dari namespace. Pustaka ini tetap berada di disk hingga dimuat lagi.

# detach a library

detach("package: caesar")

Untuk menghapus paket yang memiliki cakupan sesi dari notebook, gunakan perintah remove.packages(). Perubahan pustaka ini tidak berdampak pada sesi lain pada kluster yang sama. Pengguna tidak dapat menghapus atau mencopot pustaka bawaan dari runtime Microsoft Fabric default.

Nota

Anda tidak dapat menghapus paket inti seperti SparkR, SparklyR, atau R.

remove.packages("caesar")

Pustaka R untuk cakupan sesi dan SparkR

Pustaka berlingkup notebook tersedia di pekerja SparkR.

install.packages("stringr")
library(SparkR)

str_length_function <- function(x) {
  library(stringr)
  str_length(x)
}

docs <- c("Wow, I really like the new light sabers!",
               "That book was excellent.",
               "R is a fantastic language.",
               "The service in this restaurant was miserable.",
               "This is neither positive or negative.")

spark.lapply(docs, str_length_function)

Pustaka R dengan cakupan sesi dan sparklyr

Dengan spark_apply() dalam sparklyr, Anda dapat menggunakan paket R apa pun di dalam Spark. Secara bawaan, dalam sparklyr::spark_apply(), argumen packages diatur ke FALSE. Ini menyalin pustaka di libPaths saat ini kepada pekerja, memungkinkan Anda mengimpor dan menggunakannya pada pekerja. Misalnya, Anda dapat menjalankan hal berikut untuk menghasilkan pesan terenkripsi caesar dengan sparklyr::spark_apply():

install.packages("caesar", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")

spark_version <- sparkR.version()
config <- spark_config()
sc <- spark_connect(master = "yarn", version = spark_version, spark_home = "/opt/spark", config = config)

apply_cases <- function(x) {
  library(caesar)
  caesar("hello world")
}
sdf_len(sc, 5) %>%
  spark_apply(apply_cases, packages=FALSE)

Pelajari selengkapnya tentang fungsionalitas R: