Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Biblioteki R powiązane z notatnikiem umożliwiają tworzenie i modyfikowanie niestandardowych środowisk R specyficznych dla sesji notatnika. Podczas instalowania biblioteki o zakresie notesu języka R tylko bieżący notes i wszystkie zadania skojarzone z tym notesem mają dostęp do tej biblioteki. Nie ma to wpływu na inne notesy dołączone do tego samego klastra.
Biblioteki o zakresie notesu nie są zachowywane między sesjami. Należy ponownie zainstalować biblioteki przypisane do notesu na początku każdej sesji lub kiedy notes jest odłączony od klastra.
Biblioteki zakresu notesu są automatycznie dostępne na pracownikach dla funkcji UDF SparkR.
Aby zainstalować biblioteki dla wszystkich notesów dołączonych do klastra, użyj bibliotek zainstalowanych w klastrze. Zobacz Biblioteki o zakresie obliczeniowym.
Zainstaluj biblioteki związane z notatnikiem w języku R
Możesz użyć dowolnej znanej metody instalowania pakietów w języku R, takiej jak install.packages(), interfejsy API devtools lub Bioconductor.
Pakiety języka R są dostępne dla węzłów roboczych, a także węzła sterownika.
Zarządzanie bibliotekami przypisanymi do notesu w języku R
W tej sekcji:
Instalowanie pakietu
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
Usługa Databricks zaleca użycie migawki CRAN jako repozytorium w celu zagwarantowania powtarzalnych wyników.
devtools::install_github("klutometis/roxygen")
Usuwanie pakietu języka R ze środowiska notesu
Aby usunąć bibliotekę z notesu, której zakres obejmuje tylko ten notes, użyj polecenia remove.packages()
.
remove.packages("caesar")
Biblioteki R o zakresie notesu z funkcjami UDF Spark
W tej sekcji:
- Biblioteki R o zasięgu notatnika i SparkR
- Biblioteki języka R o zakresie notesu i interfejs sparklyr
- Izolacja biblioteki i hostowany program RStudio
Biblioteki R w zakresie notesu i SparkR
Biblioteki o zakresie notesu są dostępne na pracowników SparkR; po prostu zaimportuj bibliotekę, aby jej używać. Na przykład możesz uruchomić następujące polecenie, aby wygenerować zaszyfrowany przez cezara komunikat z funkcją UDF platformy SparkR:
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
library(SparkR)
sparkR.session()
hello <- function(x) {
library(caesar)
caesar("hello world")
}
spark.lapply(c(1, 2), hello)
Biblioteki języka R o zakresie notesu i interfejs sparklyr
Domyślnie w elememencie sparklyr::spark_apply()
packages
argument ma wartość TRUE
. Spowoduje to skopiowanie bibliotek w bieżącej wersji libPaths
do procesów roboczych, co umożliwia importowanie ich i używanie ich w ramach procesów roboczych. Na przykład możesz uruchomić następujące polecenie, aby wygenerować wiadomość zaszyfrowaną szyfrem Cezara za pomocą sparklyr::spark_apply()
:
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
library(sparklyr)
sc <- spark_connect(method = 'databricks')
apply_caes <- function(x) {
library(caesar)
caesar("hello world")
}
sdf_len(sc, 5) %>%
spark_apply(apply_caes)
Jeśli nie chcesz, aby biblioteki były dostępne na procesach roboczych, ustaw packages
na wartość FALSE
.
Izolacja biblioteki i hostowany program RStudio
Program RStudio tworzy oddzielną ścieżkę biblioteki dla każdego użytkownika; w związku z tym użytkownicy są odizolowani od siebie. Jednak ścieżka biblioteki nie jest dostępna dla pracowników. Jeśli chcesz użyć pakietu wewnątrz pracowników SparkR w zadaniu uruchomionym z poziomu programu RStudio, musisz zainstalować go przy użyciu bibliotek klastra.
Alternatywnie, jeśli używasz funkcji UDF sparklyr, pakiety zainstalowane wewnątrz programu RStudio są dostępne dla procesów roboczych w przypadku korzystania z programu spark_apply(..., packages = TRUE)
.
Często zadawane pytania
Jak zainstalować pakiet na sterowniku dla wszystkich notesów języka R?
Jawnie ustaw katalog instalacyjny na /databricks/spark/R/lib
. Na przykład z install.packages()
, uruchom install.packages("pckg", lib="/databricks/spark/R/lib")
.
Pakiety zainstalowane w /databricks/spark/R/lib
są współużytkowane we wszystkich notesach w klastrze, ale nie są dostępne dla pracowników SparkR. Aby udostępniać biblioteki między notatnikami a pracownikami, użyj bibliotek klastra.
Czy biblioteki w notatniku są buforowane?
Buforowanie dla bibliotek o zakresie notebooka nie jest zaimplementowane na klastrze. Jeśli zainstalujesz pakiet w notesie, a inny użytkownik zainstaluje ten sam pakiet w innym notesie w tym samym klastrze, pakiet zostanie pobrany, skompilowany i zainstalowany ponownie.