Gestione delle librerie R
Le librerie forniscono codice riutilizzabile da includere nei programmi o nei progetti per Microsoft Fabric Spark.
Microsoft Fabric supporta un runtime R con molti pacchetti R open source più diffusi, tra cui TidyVerse, preinstallati. All'avvio di un'istanza di Spark, queste librerie vengono incluse automaticamente e disponibili per essere usate immediatamente nei notebook o nelle definizioni dei processi Spark.
Potrebbe essere necessario aggiornare le librerie R per vari motivi. Ad esempio, una delle dipendenze principali ha rilasciato una nuova versione o il team ha creato un pacchetto personalizzato necessario nei cluster Spark.
È possibile includere due tipi di librerie in base allo scenario:
Le librerie di feed fanno riferimento a quelle che risiedono in origini o repository pubblici, ad esempio CRAN o GitHub.
Le librerie personalizzate sono il codice creato dall'utente o dall'organizzazione, .tar.gz può essere gestito tramite i portali di gestione delle librerie.
In Microsoft Fabric sono installati due livelli di pacchetti:
Ambiente: gestire le librerie tramite un ambiente per riutilizzare lo stesso set di librerie in più notebook o processi.
Sessione : un'installazione a livello di sessione crea un ambiente per una sessione di notebook specifica. La modifica delle librerie a livello di sessione non viene mantenuta tra le sessioni.
Riepilogo dei comportamenti correnti di gestione delle librerie R disponibili:
Tipo di libreria | Installazione dell'ambiente | Installazione a livello di sessione |
---|---|---|
Feed R (CRAN) | Non supportato | Supportato |
R Custom | Supportata | Supportata |
Prerequisiti
Ottenere una sottoscrizione di Microsoft Fabric. In alternativa, iscriversi per ottenere una versione di valutazione gratuita di Microsoft Fabric.
Accedere a Microsoft Fabric.
Usare il commutatore esperienza sul lato sinistro della home page per passare all'esperienza di data science di Synapse.
Librerie R a livello di sessione
Quando si esegue l'analisi interattiva dei dati o l'apprendimento automatico, è possibile provare pacchetti più recenti o che potrebbero essere necessari pacchetti attualmente non disponibili nell'area di lavoro. Anziché aggiornare le impostazioni dell'area di lavoro, è possibile usare pacchetti con ambito sessione per aggiungere, gestire e aggiornare le dipendenze di sessione.
- Quando si installano librerie con ambito sessione, solo il notebook corrente ha accesso alle librerie specificate.
- Queste librerie non influiscono su altre sessioni o processi usando lo stesso pool di Spark.
- Queste librerie vengono installate sopra le librerie di runtime di base e a livello di pool.
- Le librerie di notebook hanno la precedenza più alta.
- Le librerie R con ambito sessione non vengono mantenute tra le sessioni. Queste librerie vengono installate all'inizio di ogni sessione quando vengono eseguiti i comandi di installazione correlati.
- Le librerie R con ambito sessione vengono installate automaticamente nei nodi driver e di lavoro.
Nota
I comandi di gestione delle librerie R vengono disabilitati durante l'esecuzione di processi della pipeline. Se si vuole installare un pacchetto all'interno di una pipeline, è necessario usare le funzionalità di gestione delle librerie a livello di area di lavoro.
Installare pacchetti R da CRAN
È possibile installare facilmente una libreria R da CRAN.
# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))
È anche possibile usare snapshot CRAN come repository per assicurarsi di scaricare la stessa versione del pacchetto ogni volta.
# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
Installare pacchetti R usando devtools
La devtools
libreria semplifica lo sviluppo di pacchetti per accelerare le attività comuni. Questa libreria viene installata all'interno del runtime predefinito di Microsoft Fabric.
È possibile usare devtools
per specificare una versione specifica di una libreria da installare. Queste librerie vengono installate in tutti i nodi all'interno del cluster.
# Install a specific version.
install_version("caesar", version = "1.0.0")
Analogamente, è possibile installare una libreria direttamente da GitHub.
# Install a GitHub library.
install_github("jtilly/matchingR")
Attualmente, all'interno di Microsoft Fabric sono supportate le funzioni seguenti devtools
:
Comando | Descrizione |
---|---|
install_github() | Installa un pacchetto R da GitHub |
install_gitlab() | Installa un pacchetto R da GitLab |
install_bitbucket() | Installa un pacchetto R da BitBucket |
install_url() | Installa un pacchetto R da un URL arbitrario |
install_git() | Installa da un repository Git arbitrario |
install_local() | Installa da un file locale su disco |
install_version() | Installa da una versione specifica in CRAN |
Installare librerie personalizzate R
Per usare una libreria personalizzata a livello di sessione, è prima necessario caricarla in un lakehouse collegato.
Sul lato sinistro selezionare Aggiungi per aggiungere una lakehouse esistente o creare una lakehouse.
Per aggiungere file a questo lakehouse, selezionare l'area di lavoro e quindi selezionare il lakehouse.
Fare clic con il pulsante destro del mouse o selezionare "..." accanto a File per caricare il file .tar.gz .
Dopo il caricamento, tornare al notebook. Usare il comando seguente per installare la libreria personalizzata nella sessione:
install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
Visualizzare le librerie installate
Eseguire una query su tutte le librerie installate all'interno della sessione usando il library
comando .
# query all the libraries installed in current session
library()
Usare la packageVersion
funzione per controllare la versione della libreria:
# check the package version
packageVersion("caesar")
Rimuovere un pacchetto R da una sessione
È possibile usare la detach
funzione per rimuovere una libreria dallo spazio dei nomi . Queste librerie rimangono su disco finché non vengono ricaricate.
# detach a library
detach("package: caesar")
Per rimuovere un pacchetto con ambito sessione da un notebook, usare il remove.packages()
comando . Questa modifica della libreria non ha alcun impatto su altre sessioni nello stesso cluster. Gli utenti non possono disinstallare o rimuovere librerie predefinite del runtime predefinito di Microsoft Fabric.
Nota
Non è possibile rimuovere pacchetti di base come SparkR, SparklyR o R.
remove.packages("caesar")
Librerie R con ambito sessione e SparkR
Le librerie con ambito notebook sono disponibili nei ruoli di lavoro 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)
Librerie R con ambito sessione e sparklyr
Con spark_apply()
sparklyr è possibile usare qualsiasi pacchetto R all'interno di Spark. Per impostazione predefinita, in sparklyr::spark_apply()
l'argomento packages imposta su FAL edizione Standard. Questa copia le librerie nei percorsi libPath correnti ai ruoli di lavoro, consentendo di importarle e usarle nei ruoli di lavoro. Ad esempio, è possibile eseguire quanto segue per generare un messaggio con crittografia cesare con 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)
Contenuto correlato
Altre informazioni sulle funzionalità di R:
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per