Udostępnij za pośrednictwem


Zarządzanie biblioteką języka R

Biblioteki udostępniają kod wielokrotnego użytku, który można uwzględnić w programach lub projektach platformy Microsoft Fabric Spark.

Usługa Microsoft Fabric obsługuje środowisko uruchomieniowe języka R z wieloma popularnymi pakietami języka R typu open source, w tym TidyVerse, wstępnie zainstalowanymi. Po uruchomieniu wystąpienia platformy Spark te biblioteki są automatycznie dołączane i dostępne do natychmiastowego użycia w notesach lub definicjach zadań platformy Spark.

Może być konieczne zaktualizowanie bibliotek języka R z różnych powodów. Na przykład jedna z podstawowych zależności wydała nową wersję lub zespół utworzył pakiet niestandardowy, który jest potrzebny w klastrach Spark.

Istnieją dwa typy bibliotek, które można uwzględnić w zależności od scenariusza:

  • Biblioteki kanałów informacyjnych odnoszą się do tych , które znajdują się w publicznych źródłach lub repozytoriach, takich jak CRAN lub GitHub.

  • Biblioteki niestandardowe to kod utworzony przez Ciebie lub Twoją organizację, .tar.gz można zarządzać za pomocą portali zarządzania bibliotekami.

W usłudze Microsoft Fabric są zainstalowane dwa poziomy pakietów:

  • Środowisko: zarządzanie bibliotekami za pośrednictwem środowiska w celu ponownego użycia tego samego zestawu bibliotek w wielu notesach lub zadaniach.

  • Sesja : instalacja na poziomie sesji tworzy środowisko dla określonej sesji notesu. Zmiana bibliotek na poziomie sesji nie jest utrwalana między sesjami.

Podsumowanie bieżących dostępnych zachowań zarządzania biblioteką języka R:

Typ biblioteki Instalacja środowiska Instalacja na poziomie sesji
Źródło danych języka R (CRAN) Nieobsługiwany Obsługiwane
Niestandardowy język R Obsługiwane Obsługiwane

Wymagania wstępne

  • Uzyskaj subskrypcję usługi Microsoft Fabric. Możesz też utworzyć konto bezpłatnej wersji próbnej usługi Microsoft Fabric.

  • Zaloguj się do usługi Microsoft Fabric.

  • Użyj przełącznika środowiska po lewej stronie głównej, aby przełączyć się na środowisko usługi Synapse Nauka o danych.

    Zrzut ekranu przedstawiający menu przełącznika środowiska pokazujące, gdzie wybrać Nauka o danych.

Biblioteki języka R na poziomie sesji

Podczas interaktywnej analizy danych lub uczenia maszynowego możesz wypróbować nowsze pakiety lub mogą być potrzebne pakiety, które są obecnie niedostępne w obszarze roboczym. Zamiast aktualizować ustawienia obszaru roboczego, można użyć pakietów o zakresie sesji, aby dodawać zależności sesji, zarządzać nimi i aktualizować je.

  • Podczas instalowania bibliotek o zakresie sesji tylko bieżący notes ma dostęp do określonych bibliotek.
  • Te biblioteki nie mają wpływu na inne sesje ani zadania korzystające z tej samej puli platformy Spark.
  • Te biblioteki są instalowane w oparciu o podstawowe biblioteki środowiska uruchomieniowego i na poziomie puli.
  • Biblioteki notesów mają najwyższy priorytet.
  • Biblioteki języka R w zakresie sesji nie są utrwalane między sesjami. Te biblioteki są instalowane na początku każdej sesji po wykonaniu powiązanych poleceń instalacji.
  • Biblioteki języka R o zakresie sesji są automatycznie instalowane zarówno w węzłach sterowników, jak i procesów roboczych.

Uwaga

Polecenia zarządzania bibliotekami języka R są wyłączone podczas uruchamiania zadań potoku. Jeśli chcesz zainstalować pakiet w potoku, musisz użyć funkcji zarządzania biblioteką na poziomie obszaru roboczego.

Instalowanie pakietów języka R z usługi CRAN

Bibliotekę języka R można łatwo zainstalować z poziomu usługi CRAN.

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

Możesz również użyć migawek CRAN jako repozytorium, aby zapewnić pobranie tej samej wersji pakietu za każdym razem.

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

Instalowanie pakietów języka R przy użyciu narzędzia devtools

Biblioteka devtools upraszcza tworzenie pakietów w celu przyspieszenia typowych zadań. Ta biblioteka jest instalowana w domyślnym środowisku uruchomieniowym usługi Microsoft Fabric.

Możesz użyć devtools polecenia , aby określić określoną wersję biblioteki do zainstalowania. Te biblioteki są instalowane we wszystkich węzłach w klastrze.

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

Podobnie możesz zainstalować bibliotekę bezpośrednio z usługi GitHub.

# Install a GitHub library. 

install_github("jtilly/matchingR")

Obecnie w usłudze Microsoft Fabric są obsługiwane następujące devtools funkcje:

Polecenie opis
install_github() Instaluje pakiet języka R z usługi GitHub
install_gitlab() Instaluje pakiet języka R z narzędzia GitLab
install_bitbucket() Instaluje pakiet języka R z usługi BitBucket
install_url() Instaluje pakiet języka R z dowolnego adresu URL
install_git() Instaluje z dowolnego repozytorium git
install_local() Instaluje z pliku lokalnego na dysku
install_version() Instaluje z określonej wersji w usłudze CRAN

Instalowanie bibliotek niestandardowych języka R

Aby użyć biblioteki niestandardowej na poziomie sesji, należy najpierw przekazać ją do dołączonej usługi Lakehouse.

  1. Po lewej stronie wybierz pozycję Dodaj , aby dodać istniejący obiekt lakehouse lub utworzyć jezioro.

    Zrzut ekranu przedstawiający sposób dodawania magazynu lakehouse do notesu.

  2. Aby dodać pliki do tego lakehouse, wybierz swój obszar roboczy, a następnie wybierz magazyn lakehouse.

    Zrzut ekranu przedstawiający sposób przechodzenia do usługi Lakehouse w celu dodania plików.

  3. Kliknij prawym przyciskiem myszy lub wybierz pozycję "..." obok pozycji Pliki , aby przekazać plik .tar.gz .

    Zrzut ekranu przedstawiający sposób przekazywania pliku do folderu lakehouse Files.

  4. Po przekazaniu wróć do notesu. Użyj następującego polecenia, aby zainstalować bibliotekę niestandardową w sesji:

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

Wyświetlanie zainstalowanych bibliotek

Wykonaj zapytanie o wszystkie biblioteki zainstalowane w sesji przy użyciu library polecenia .

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

packageVersion Użyj funkcji , aby sprawdzić wersję biblioteki:

# check the package version
packageVersion("caesar")

Usuwanie pakietu języka R z sesji

Za pomocą detach funkcji można usunąć bibliotekę z przestrzeni nazw. Te biblioteki pozostają na dysku, dopóki nie zostaną ponownie załadowane.

# detach a library

detach("package: caesar")

Aby usunąć pakiet o zakresie sesji z notesu remove.packages() , użyj polecenia . Ta zmiana biblioteki nie ma wpływu na inne sesje w tym samym klastrze. Użytkownicy nie mogą odinstalować ani usuwać wbudowanych bibliotek domyślnego środowiska uruchomieniowego usługi Microsoft Fabric.

Uwaga

Nie można usunąć podstawowych pakietów, takich jak SparkR, SparklyR lub R.

remove.packages("caesar")

Biblioteki języka R o zakresie sesji i sparkR

Biblioteki o zakresie notesu są dostępne w przypadku procesów roboczych platformy 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)

Biblioteki języka R o zakresie sesji i interfejs sparklyr

Za pomocą spark_apply() interfejsu sparklyr można używać dowolnych pakietów języka R wewnątrz platformy Spark. Domyślnie w elememencie sparklyr::spark_apply()argument packages ustawia wartość FALSE. Spowoduje to skopiowanie bibliotek w bieżących bibliotekach libPaths do procesów roboczych, co umożliwia importowanie i używanie ich w ramach procesów roboczych. Na przykład możesz uruchomić następujące polecenie, aby wygenerować zaszyfrowany przez cezara komunikat za pomocą polecenia 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)

Dowiedz się więcej o funkcjach języka R: