Knihovny jazyka R v rámci poznámkových bloků

Knihovny jazyka R s oborem poznámkového bloku umožňují vytvářet a upravovat vlastní prostředí R, která jsou specifická pro relaci poznámkového bloku. Když nainstalujete knihovnu s vymezeným poznámkovým blokem jazyka R, budou mít k této knihovně přístup jenom aktuální poznámkový blok a všechny úlohy přidružené k danému poznámkovému bloku. Jiné poznámkové bloky připojené ke stejnému clusteru nejsou ovlivněné.

Knihovny s vymezeným poznámkovým blokem se neuchovávají napříč relacemi. Knihovny s oborem poznámkového bloku je nutné přeinstalovat na začátku každé relace nebo při každém odpojení poznámkového bloku od clusteru.

Knihovny knihoven s vymezeným poznámkovým blokem jsou automaticky dostupné pro pracovní procesy pro uživatelem definované uživatelem SparkR.

Pokud chcete nainstalovat knihovny pro všechny poznámkové bloky připojené ke clusteru, použijte knihovny nainstalované v clusteru. Viz Knihovny clusterů.

Instalace knihoven s vymezeným poznámkovým blokem v jazyce R

Můžete použít jakoukoli známou metodu instalace balíčků v jazyce R, například install.packages(), rozhraní API devtools nebo Bioconductor.

Balíčky R jsou přístupné pro pracovní uzly i pro uzel ovladače.

Správa knihoven s vymezeným poznámkovým blokem v jazyce R

V této části:

Instalace balíčku

require(devtools)

install_version(
  package = "caesar",
  repos   = "http://cran.us.r-project.org"
)

Databricks doporučuje jako úložiště použít snímek CRAN, který zaručuje reprodukovatelné výsledky.

devtools::install_github("klutometis/roxygen")

Odebrání balíčku R z prostředí poznámkového bloku

Pokud chcete z poznámkového bloku odebrat knihovnu s vymezeným poznámkovým blokem, použijte remove.packages() příkaz.

remove.packages("caesar")

Knihovny jazyka R s vymezeným poznámkovým blokem s uživatelem definovanými funkcemi Sparku

V této části:

Knihovny jazyka R s vymezeným poznámkovým blokem a SparkR

Knihovny v rámci poznámkových bloků jsou k dispozici pro pracovní procesy SparkR; stačí naimportovat knihovnu, aby ji bylo možné použít. Můžete například spustit následující příkaz, který vygeneruje zprávu zašifrovanou caesarem pomocí uživatelem definovaného uživatelem 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)

Knihovny jazyka R s vymezeným poznámkovým blokem a sparklyr

Ve výchozím nastavení sparklyr::spark_apply()packages je argument nastaven na TRUEhodnotu . Kopíruje knihovny v aktuálním libPaths stavu pracovníkům, takže je můžete importovat a používat u pracovních procesů. Můžete například spustit následující příkaz, který vygeneruje zprávu zašifrovanou caesarem: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)

Pokud nechcete, aby byly knihovny dostupné pro pracovní procesy, nastavte na hodnotu packagesFALSE.

Izolace knihovny a hostovaná aplikace RStudio

RStudio vytvoří pro každého uživatele samostatnou cestu knihovny; proto jsou uživatelé navzájem izolovaní. Cesta ke knihovně však není k dispozici pro pracovní procesy. Pokud chcete použít balíček uvnitř pracovních procesů SparkR v úloze spuštěné z RStudio, musíte ho nainstalovat pomocí knihoven clusteru.

Pokud používáte funkce UDF sparklyr, balíčky nainstalované uvnitř RStudio jsou při použití spark_apply(..., packages = TRUE)k dispozici pracovníkům .

Nejčastější dotazy

Návody nainstalovat balíček jenom na ovladač pro všechny poznámkové bloky R?

Explicitně nastavte instalační adresář na /databricks/spark/R/lib. Například pomocí install.packages()příkazu , spusťte install.packages("pckg", lib="/databricks/spark/R/lib"). Balíčky nainstalované v /databricks/spark/R/lib clusteru se sdílejí napříč všemi poznámkovými bloky v clusteru, ale nejsou přístupné pro pracovní procesy SparkR. Ke sdílení knihoven mezi poznámkovými bloky a také pracovními procesy použijte knihovny clusteru.

Jsou knihovny s vymezeným poznámkovým blokem uložené v mezipaměti?

Pro knihovny v rámci poznámkových bloků v clusteru není implementováno žádné ukládání do mezipaměti. Pokud nainstalujete balíček do poznámkového bloku a jiný uživatel nainstaluje stejný balíček do jiného poznámkového bloku ve stejném clusteru, balíček se stáhne, zkompiluje a nainstaluje znovu.