Migrazione da project - lib for R a ibm - watson - studio - lib
La libreria ibm-watson-studio-lib
è il successore di project-lib library
. Anche se puoi ancora continuare a utilizzare l'API project-lib
nei tuoi notebook, dovresti pensare alla migrazione dei notebook esistenti per utilizzare la libreria ibm-watson-studio-lib
.
I vantaggi dell'utilizzo di ibm-watson-studio-lib
comprendono:
- L'API di esplorazione asset fornisce l'accesso in sola lettura a tutti i tipi di asset, non soltanto a quelli esplicitamente supportati dalla libreria.
ibm-watson-studio-lib
utilizza una convenzione di denominazione API costante che struttura le funzioni disponibili in base alla loro area di applicazione.
Le seguenti sezioni descrivono le modifiche da apportare nei notebook R esistenti per iniziare a utilizzare la libreria di ibm-watson-studio-lib
.
Impostare la libreria
È necessario apportare le seguenti modifiche nei notebook esistenti per iniziare a utilizzare ibm-watson-studio-lib
:
Nel codice utilizzando project-lib
modificare:
library(projectLib)
project <- projectLib::Project$new("<ProjectId>", "ProjectToken")
A quanto segue utilizzando ibm-watson-studio-lib
:
library(ibmWatsonStudioLib)
wslib <- access_project_or_space(list("token" = "ProjectToken"))
Configurare la libreria in ambienti Spark
Devi apportare le seguenti modifiche nei notebook esistenti per iniziare a utilizzare ibm-watson-studio-lib
in ambienti Spark.
Nel codice utilizzando project-lib
modificare:
library(projectLib)
project <- projectLib::Project$new(sc, "<ProjectId>", "ProjectToken")
A quanto segue utilizzando ibm-watson-studio-lib
:
library(ibmWatsonStudioLib)
wslib <- access_project_or_space(list("token" = "ProjectToken"))
wslib$spark$provide_spark_context(sc)
Utilizzo libreria
Le seguenti sezioni descrivono le modifiche del codice che devi apportare nei tuoi notebook quando migri funzioni in project-lib
alle corrispondenti funzioni in ibm-watson-studio-lib
.
Richiama informazioni sul progetto
Per recuperare le informazioni relative al progetto in modo programmatico, è necessario modificare le funzioni riportate di seguito:
Elenca connessioni dati
Nel codice utilizzando project-lib
modificare:
project$get_connections()
A quanto segue utilizzando ibm-watson-studio-lib
:
assets <- wslib$list_connections()
wslib$show(assets)
In alternativa, con ibm-watson-studio-lib
, è possibile elencare gli asset di dati connessi:
assets <- wslib$list_connected_data()
wslib$show(assets)
Elenca file di dati
Questa funzione restituisce l'elenco dei file di dati nel progetto.
Nel codice che utilizza project-lib
modificare utilizzando:
project$get_files()
A quanto segue utilizzando ibm-watson-studio-lib
:
assets <- wslib$list_stored_data()
wslib$show(assets)
Ottieni nome o descrizione
In ibm-watson-studio-lib
, è possibile richiamare qualsiasi metadati relativo al progetto, ad esempio il nome di un progetto o la relativa descrizione, tramite il punto di ingresso wslib.here
.
Nel codice utilizzando project-lib
modificare:
name <- project$get_name()
desc <- project$get_description()
A quanto segue utilizzando ibm-watson-studio-lib
:
name <- wslib$here$get_name()
desc <- wslib$here$get_description()
Ottieni metadati
Non esiste alcuna sostituzione per get_matadata
in project-lib
:
project$get_metadata()
La funzione wslib$here
in ibm-watson-studio-lib
espone parti di queste informazioni. Le seguenti funzioni sono disponibili in wslib$here
:
wslib$here$get_name()
: restituisce il nome del progettowslib$here$get_description()
: restituisce la descrizione del proejctwslib$here$get_ID()
: restituisce l'ID progettowslib$here$get_storage()
: restituisce i metadati di archiviazione
Ottieni metadati di memoria
Nel codice utilizzando project-lib
modificare:
project$get_storage_metadata()
A quanto segue utilizzando ibm-watson-studio-lib
:
wslib$here$get_storage()
Recupero dei dati
Per accedere ai dati in un file, è necessario modificare le funzioni riportate di seguito.
Nel codice utilizzando project-lib
modificare:
buffer <- project$get_file("MyAssetName.csv")
# or, without direct storage access:
buffer <- project$get_file("MyAssetName.csv", directStorage=FALSE)
# or:
buffer <- project$get_file("MyAssetName.csv", directOsRetrieval=FALSE)
A quanto segue utilizzando ibm-watson-studio-lib
:
buffer <- wslib$load_data("MyAssetName.csv")
Inoltre, ibm-watson-studio-lib
offre una funzione per scaricare un asset di dati e memorizzarlo nel filesystem locale:
info <- wslib$download_file("MyAssetName.csv", "MyLocalFile.csv")
Salva dati
Per salvare i dati in un file, è necessario modificare le funzioni riportate di seguito.
Nel codice utilizzando project-lib
change (e per tutte le variazioni di directStorage=FALSE
e setProjectAsset=TRUE
):
project$save_data("NewAssetName.csv", data)
project$save_data("MyAssetName.csv", data, overwrite=TRUE)
A quanto segue utilizzando ibm-watson-studio-lib
:
asset <- wslib$save_data("NewAssetName.csv", data)
wslib$show(asset)
asset <- wslib$save_data("MyAssetName.csv", data, overwrite=TRUE)
wslib$show(asset)
Inoltre, ibm-watson-studio-lib
offre una funzione per caricare un file locale nell'archivio del progetto e creare un asset di dati:
asset <- wslib$upload_file("MyLocalFile.csv", "MyAssetName.csv")
wslib$show(asset)
Ottieni informazioni di connessione
Per restituire i metadati associati a un collegamento, è necessario modificare le funzioni riportate di seguito.
Nel codice utilizzando project-lib
modificare:
connprops <- project$get_connection(name="MyConnection")
A quanto segue utilizzando ibm-watson-studio-lib
:
connprops <- wslib$get_connection("MyConnection")
Ottieni informazioni sui dati connessi
Per restituire i metadati associati a un asset di dati connesso, è necessario modificare le funzioni riportate di seguito.
Nel codice utilizzando project-lib
modificare:
dataprops <- project$get_connected_data(name="MyConnectedData")
A quanto segue utilizzando ibm-watson-studio-lib
:
dataprops <- wslib$get_connected_data("MyConnectedData")
Accedi all'asset per ID invece che per nome
È possibile restituire i metadati di una connessione o di un asset di dati connesso accedendo all'asset per ID invece che per nome.
Nella modifica project-lib
:
connprops <- project$get_connection(id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
# or:
connprops <- project$get_connection("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
# or:
datapros <- project$get_connected_data(id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
# or:
datapros <- project$get_connected_data("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
A quanto segue utilizzando ibm-watson-studio-lib
:
connprops <- wslib$by_id$get_connection("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
dataprops <- wslib$by_id$get_connected_data("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
In project-lib
, non è possibile accedere ai file (asset di dati memorizzati) per ID. È possibile farlo solo per nome. La libreria ibm-watson-studio-lib
supporta l'accesso ai file per ID. Consultare Utilizzo di ibm - watson - studio - lib.
Recupera asset per tipo di asset
Quando si richiama l'elenco di tutti gli asset del progetto, è possibile passare il parametro facoltativo assetType
alla funzione get_assets
che consente di filtrare gli asset per tipo. I valori accettati per questo parametro in project-lib
sono data_asset
, connection
e asset
.
Nel codice utilizzando project-lib
modificare:
project$get_assets()
# Or, for a supported asset type:
project$get_assets("<asset_type>")
# Or:
project$get_assets(assetType="<asset_type>")
A quanto segue utilizzando ibm-watson-studio-lib
:
assets <- wslib$assets$list_assets("asset")
wslib$show(assets)
# Or, for a specific asset type:
assets <- wslib$assets$list_assets("<asset_type>")
# Example, list all notebooks:
notebook_assets <- wslib$assets$list_assets("notebook")
wslib$show(notebook_assets)
Per elencare i tipi di asset disponibili, utilizzare:
assettypes <- wslib$assets$list_asset_types()
wslib$show(assettypes)
Supporto Spark
Per utilizzare Spark, devi modificare le funzioni che abilitano il supporto Spark e richiamare l'URL di un file.
Imposta supporto Spark
Per configurare il supporto Spark:
Nel codice utilizzando project-lib
modificare:
# Provide SparkContext during setup
library(projectLib)
project <- projectLib::Project$new(sc, "<ProjectId>", "ProjectToken")
A quanto segue utilizzando ibm-watson-studio-lib
:
library(ibmWatsonStudioLib) wslib <- access_project_or_space(list("token" = "ProjectToken"))
# provide SparkContext after initialization
wslib$spark$provide_spark_context(sc)
Richiama URL per accedere a un file da Spark
Per recuperare un URL per accedere a un file a cui fa riferimento un asset da Spark tramite Hadoop:
Nel codice utilizzando project-lib
modificare:
url = project$get_file_url("MyAssetName.csv")
# or
url = project$get_file_url("MyAssetName.csv", directStorage=FALSE)
# or
url = project$get_file_url("MyAssetName.csv", directOsRetrieval=FALSE)
A quanto segue utilizzando ibm-watson-studio-lib
:
url = wslib$spark$get_data_url("MyAssetName.csv")
Ottieni l'URL del file per l'utilizzo con Spark
Richiama un URL per accedere a un file a cui fa riferimento un asset da Spark tramite Hadoop.
Nel codice utilizzando project-lib
modificare:
url = project$get_file_url("MyFileName.csv, directStorage=TRUE)
# or
url = project$get_file_url("MyFileName.csv", directOsRetrieval=TRUE)
A quanto segue utilizzando ibm-watson-studio-lib
:
wslib$spark$storage$get_data_url("MyFileName.csv")
Accedi direttamente allo storage del progetto
È possibile recuperare i dati dall'archivio del progetto o salvare i dati nell'archivio del progetto senza sincronizzare gli asset del progetto.
Recupero dei dati
Per recuperare i dati dall'archivio progetti:
Nel codice utilizzando project-lib
modificare:
project$get_file("MyFileName.csv", directStorage=TRUE)
# Or:
project$get_file("MyFileName.csv", directOsRetrieval=TRUE)
A quanto segue utilizzando ibm-watson-studio-lib
:
wslib$storage$fetch_data("MyFileName.csv")
Salva dati
Per salvare i dati in un file nell'archivio progetti:
Nel codice utilizzando project-lib
modificare:
project$save_data("NewFileName.csv", data, directStorage=TRUE)
# Or:
project$save_data("NewFileName.csv", data, setProjectAsset=FALSE)
A quanto segue utilizzando ibm-watson-studio-lib
:
wslib$storage$store_data("NewFileName.csv", data)
Nel codice utilizzando project-lib
modificare:
# Save (and overwrite if file exists) and do not create an asset in the project
project$save_data("MyFileName.csv", data, directStorage=TRUE, overwrite=TRUE)
# Or:
project$save_data("MyFileName.csv", data, setProjectAsset=FALSE, overwrite=TRUE)
A quanto segue utilizzando ibm-watson-studio-lib
:
wslib$storage$store_data("MyFileName.csv", data, overwrite=TRUE)
Aggiunta, ` ibm - watson - studio - lib ` fornisce una funzione per scaricare un file dall'archiviazione del progetto nel filesystem locale:
wslib$storage$download_file("MyStorageFile.csv", "MyLocalFile.csv")
È anche possibile registrare un file nell'archivio del progetto come asset di dati utilizzando:
wslib$storage$register_asset("MyStorageFile.csv", "MyAssetName.csv")
Ulteriori informazioni
Per utilizzare la libreria ibm-watson-studio-lib
per R nei notebook, vedi ibm - watson - studio - lib for R.
Argomento principale: Utilizzo di ibm - watson - studio - lib