Správa knihovny R

Knihovny poskytují opakovaně použitelný kód, který můžete chtít zahrnout do programů nebo projektů pro Microsoft Fabric Spark.

Microsoft Fabric podporuje modul runtime R s mnoha oblíbenými opensourcovými balíčky R, včetně předinstalovaných TidyVerse. Při spuštění instance Sparku se tyto knihovny zahrnou automaticky a dají se okamžitě použít v poznámkových blocích nebo definicích úloh Sparku.

Možná budete muset aktualizovat knihovny jazyka R z různých důvodů. Například jedna z vašich základních závislostí vydala novou verzi nebo váš tým vytvořil vlastní balíček, který potřebujete k dispozici v clusterech Spark.

Existují dva typy knihoven, které můžete chtít zahrnout na základě vašeho scénáře:

  • Knihovny informačních kanálů odkazují na ty, které jsou umístěné ve veřejných zdrojích nebo úložištích, jako je CRAN nebo GitHub.

  • Vlastní knihovny jsou kód vytvořený vámi nebo vaší organizací, .tar.gz je možné spravovat prostřednictvím portálů pro správu knihoven.

V Microsoft Fabric jsou nainstalované dvě úrovně balíčků:

  • Prostředí: Správa knihoven prostřednictvím prostředí pro opakované použití stejné sady knihoven napříč několika poznámkovými bloky nebo úlohami

  • Relace : Instalace na úrovni relace vytvoří prostředí pro konkrétní relaci poznámkového bloku. Změna knihoven na úrovni relace se mezi relacemi neuchová.

Shrnutí aktuálního dostupného chování správy knihovny R:

Typ knihovny Instalace prostředí Instalace na úrovni relace
Kanál R (CRAN) Nepodporuje se Podporováno
Vlastní jazyk R Podporováno Podporováno

Požadavky

Knihovny R na úrovni relace

Při interaktivní analýze dat nebo strojovém učení můžete vyzkoušet novější balíčky nebo možná budete potřebovat balíčky, které jsou momentálně ve vašem pracovním prostoru nedostupné. Místo aktualizace nastavení pracovního prostoru můžete použít balíčky s vymezeným relacím k přidávání, správě a aktualizaci závislostí relací.

  • Při instalaci knihoven s vymezeným oborem relace má přístup k zadaným knihovnám pouze aktuální poznámkový blok.
  • Tyto knihovny nemají vliv na jiné relace nebo úlohy používající stejný fond Sparku.
  • Tyto knihovny se instalují nad základní knihovny runtime a na úrovni fondu.
  • Knihovny poznámkových bloků mají nejvyšší prioritu.
  • Knihovny jazyka R s oborem relace se neuchovávají napříč relacemi. Tyto knihovny se instalují na začátku každé relace při spuštění souvisejících instalačních příkazů.
  • Knihovny R v oboru relací se automaticky instalují mezi ovladači i pracovními uzly.

Poznámka:

Příkazy pro správu knihoven R jsou při spouštění úloh kanálu zakázané. Pokud chcete balíček nainstalovat v rámci kanálu, musíte použít možnosti správy knihoven na úrovni pracovního prostoru.

Instalace balíčků R z CRAN

Knihovnu R můžete snadno nainstalovat z CRAN.

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

Snímky CRAN můžete použít také jako úložiště, abyste měli jistotu, že pokaždé stáhnete stejnou verzi balíčku.

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

Instalace balíčků R pomocí devtools

Knihovna devtools zjednodušuje vývoj balíčků, aby urychlil běžné úlohy. Tato knihovna se instaluje ve výchozím modulu runtime Microsoft Fabric.

Můžete použít devtools k zadání konkrétní verze knihovny, kterou chcete nainstalovat. Tyto knihovny se instalují napříč všemi uzly v clusteru.

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

Podobně můžete knihovnu nainstalovat přímo z GitHubu.

# Install a GitHub library. 

install_github("jtilly/matchingR")

V současné době jsou v Microsoft Fabric podporovány následující devtools funkce:

Příkaz Popis
install_github() Nainstaluje balíček R z GitHubu.
install_gitlab() Nainstaluje balíček R z GitLabu.
install_bitbucket() Nainstaluje balíček R z BitBucketu.
install_url() Nainstaluje balíček R z libovolné adresy URL.
install_git() Nainstaluje se z libovolného úložiště Git.
install_local() Nainstaluje se z místního souboru na disk.
install_version() Instalace z konkrétní verze v CRAN

Instalace vlastních knihoven jazyka R

Pokud chcete použít vlastní knihovnu na úrovni relace, musíte ji nejprve nahrát do připojeného lakehouse.

  1. Na levé straně vyberte Přidat a přidejte existující jezerní dům nebo vytvořte jezero.

    Snímek obrazovky znázorňuje, jak přidat do poznámkového bloku lakehouse.

  2. Pokud chcete do tohoto jezera přidat soubory, vyberte svůj pracovní prostor a pak vyberte jezero.

    Snímek obrazovky znázorňuje, jak přejít do jezera a přidat soubory.

  3. Klikněte pravým tlačítkem nebo vyberte "..." vedle položky Soubory pro nahrání souboru .tar.gz .

    Snímek obrazovky znázorňuje, jak nahrát soubor do složky Lakehouse Files.

  4. Po nahrání se vraťte do poznámkového bloku. Pomocí následujícího příkazu nainstalujte vlastní knihovnu do relace:

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

Zobrazení nainstalovaných knihoven

Pomocí příkazu zadejte dotaz na všechny knihovny nainstalované v rámci relace library .

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

packageVersion Pomocí funkce zkontrolujte verzi knihovny:

# check the package version
packageVersion("caesar")

Odebrání balíčku R z relace

Pomocí funkce můžete detach odebrat knihovnu z oboru názvů. Tyto knihovny zůstanou na disku, dokud se znovu nenačtou.

# detach a library

detach("package: caesar")

Pokud chcete z poznámkového bloku odebrat balíček s oborem relace, použijte remove.packages() tento příkaz. Tato změna knihovny nemá žádný vliv na jiné relace ve stejném clusteru. Uživatelé nemůžou odinstalovat ani odebrat integrované knihovny výchozího modulu runtime Microsoft Fabric.

Poznámka:

Základní balíčky, jako je SparkR, SparklyR nebo R, nemůžete odebrat.

remove.packages("caesar")

Knihovny R v oboru relací a SparkR

Knihovny s vymezeným poznámkovým blokem jsou k dispozici pro pracovní procesy 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)

Knihovny R s vymezeným oborem relace a sparklyr

Pomocí spark_apply() sparklyr můžete použít všechny balíčky R uvnitř Sparku. Ve výchozím nastavení sparklyr::spark_apply()je argument packages nastaven na FALSE. Tím se zkopírují knihovny v aktuálních knihovnách libPath do pracovních procesů, 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()

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)

Další informace o funkcích jazyka R: