Zarządzanie biblioteką języka R

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

Ważne

Usługa Microsoft Fabric jest dostępna w wersji zapoznawczej.

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 twój 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ę. Plik tar.gz można zarządzać za pomocą portali zarządzania bibliotekami.

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

  • Obszar roboczy: instalacja na poziomie obszaru roboczego definiuje środowisko robocze dla całego obszaru roboczego. Biblioteki zainstalowane na poziomie obszaru roboczego są dostępne dla wszystkich notesów i dysków SSD w tym obszarze roboczym. Zaktualizuj biblioteki obszarów roboczych, gdy chcesz skonfigurować środowisko udostępnione dla wszystkich elementów w obszarze roboczym.

  • 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 na poziomie obszaru roboczego Instalacja na poziomie sesji
Kanał informacyjny języka R (CRAN) Nieobsługiwane Obsługiwane
Niestandardowy język R Obsługiwane Obsługiwane

Wymagania wstępne

Zarządzanie biblioteką języka R na poziomie obszaru roboczego

Zarządzaj bibliotekami niestandardowymi na poziomie obszaru roboczego w ustawieniach obszaru roboczego. Obecnie język R obsługuje tylko biblioteki niestandardowe w ustawieniach obszaru roboczego.

  1. Wybierz obszar roboczy.

  2. Wybierz pozycję Ustawienia obszaru roboczego w górnej części strony.

    Zrzut ekranu przedstawia lokalizację ustawień obszaru roboczego.

  3. Wybierz pozycję zarządzanie bibliotekami Inżynieria danych/Science →.

  4. Wybierz kartę Biblioteki niestandardowe.

Uwaga

  • Tylko administrator obszaru roboczego ma uprawnienia do aktualizowania ustawień na poziomie obszaru roboczego.
  • Zarządzanie bibliotekami kanału informacyjnego języka R w ustawieniach obszaru roboczego nie jest obecnie obsługiwane.

Zainstaluj niestandardowe pakiety języka R i zarządzaj nimi, czyli .tar.gz w sekcji Biblioteki niestandardowe .

  • Przekaż: wybierz przycisk Przekaż i wybierz pakiet z katalogu lokalnego. Następnie wybierz pozycję Zastosuj , aby dodać pakiet do obszaru roboczego. Moduł zarządzania biblioteką ułatwia obsługę potencjalnych konfliktów i wymaganych zależności w bibliotekach niestandardowych.

  • Usuń: jeśli biblioteka niestandardowa nie jest już przydatna w aplikacjach platformy Spark, usuń ją za pomocą przycisku kosza.

  • Przejrzyj i zastosuj zmiany: gdy zmiany oczekują, przejdź do panelu Oczekujące zmiany , aby je przejrzeć lub anulować.

Biblioteki języka R na poziomie sesji

Podczas wykonywania interaktywnej analizy danych lub uczenia maszynowego możesz wypróbować nowsze pakiety lub być może potrzebujesz pakietów, 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 na podstawie podstawowych bibliotek środowiska uruchomieniowego i bibliotek na poziomie puli.
  • Biblioteki notesów mają najwyższy priorytet.
  • Biblioteki języka R o 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 w węzłach sterownika i procesu roboczego.

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 upewnić się, że pobiera tę samą wersję 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żna 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 magazyn lakehouse lub utworzyć magazyn lakehouse.

    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 ikonę "..." 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()

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

# check the package version
packageVersion("caesar")

Usuwanie pakietu języka R z sesji

Możesz użyć detach funkcji , aby 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 usunąć wbudowanych bibliotek domyślnego środowiska uruchomieniowego usługi Microsoft Fabric.

Uwaga

Nie można usuwać 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 dla 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żyć 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żącej bibliotece libPaths do procesów roboczych, co umożliwia importowanie i używanie ich w ramach procesów roboczych. Możesz na przykład uruchomić następujące polecenie, aby wygenerować zaszyfrowaną przez program caesar wiadomość 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)

Następne kroki

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