Gestione delle librerie R
Le librerie forniscono codice riutilizzabile da includere nei programmi o nei progetti per Microsoft Fabric Spark.
Importante
Microsoft Fabric è disponibile in anteprima.
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.
Esistono due tipi di librerie che è possibile includere 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:
Area di lavoro: l'installazione a livello di area di lavoro definisce l'ambiente di lavoro per l'intera area di lavoro. Le librerie installate a livello di area di lavoro sono disponibili per tutti i notebook e IJD in questa area di lavoro. Aggiornare le librerie dell'area di lavoro quando si vuole configurare l'ambiente condiviso per tutti gli elementi in un'area di lavoro.
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 a livello di area di lavoro | Installazione a livello di sessione |
---|---|---|
Alimentazione R (CRAN) | Non supportato | Supportato |
R Custom | Supportato | Supportato |
Prerequisiti
Sottoscrizione Power BI Premium. Se non è disponibile, vedere Come acquistare Power BI Premium.
Un'area di lavoro di Power BI con capacità Premium assegnata. Se non si ha un'area di lavoro, seguire la procedura descritta in Creare un'area di lavoro per crearne una e assegnarla a una capacità Premium.
Accedere a Microsoft Fabric.
Gestione delle librerie R a livello di area di lavoro
Gestire le librerie personalizzate a livello di area di lavoro nelle impostazioni dell'area di lavoro. Attualmente R supporta solo librerie personalizzate nelle impostazioni dell'area di lavoro.
Selezionare l'area di lavoro.
Selezionare Impostazioni area di lavoro nella parte superiore della pagina.
Selezionare Ingegneria dei dati/Science → Library management (Gestione libreria di → scientifica).
Selezionare la scheda Librerie personalizzate.
Nota
- Solo l'amministratore dell'area di lavoro dispone dell'autorizzazione per aggiornare le impostazioni a livello di area di lavoro.
- La gestione delle librerie dei feed R nelle impostazioni dell'area di lavoro non è attualmente supportata.
Installare e gestire i pacchetti R personalizzati, ovvero .tar.gz nella sezione Librerie personalizzate .
Carica: selezionare il pulsante Carica e selezionare il pacchetto dalla directory locale. Selezionare quindi Applica per aggiungere il pacchetto all'area di lavoro. Il modulo di gestione delle librerie consente di gestire potenziali conflitti e dipendenze necessarie nelle librerie personalizzate.
Rimuovi: se una libreria personalizzata non è più utile per le applicazioni Spark, usare il pulsante cestino per rimuoverla.
Rivedere e applicare le modifiche: quando le modifiche sono in sospeso, passare al pannello Modifiche in sospeso per esaminarle o annullare una modifica.
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 il runtime di base e le librerie 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 dei 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, le funzioni seguenti devtools
sono supportate in Microsoft Fabric:
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() | Esegue l'installazione 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, è necessario prima caricarla in un lakehouse collegato.
Sul lato sinistro selezionare Aggiungi per aggiungere una lakehouse esistente o creare una lakehouse.
Per aggiungere file a questa lakehouse, selezionare l'area di lavoro e quindi selezionare la 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 fino a quando non vengono caricate di nuovo.
# 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 sulle altre sessioni nello stesso cluster. Gli utenti non possono disinstallare o rimuovere librerie predefinite del runtime di Microsoft Fabric predefinito.
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()
in sparklyr è possibile usare qualsiasi pacchetto R all'interno di Spark. Per impostazione predefinita, in sparklyr::spark_apply()
, l'argomento pacchetti imposta su FALSE. Queste librerie vengono copiate nei libPath correnti ai ruoli di lavoro, consentendo di importarli e usarli nei ruoli di lavoro. Ad esempio, è possibile eseguire quanto segue per generare un messaggio cesare crittografato 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)
Passaggi successivi
Altre informazioni sulle funzionalità R: