Migrazione da project - lib for Python a ibm - watson - studio - lib
Ultimo aggiornamento: 03 mar 2025
Migrazione da project - lib for Python 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 che devi apportare nei notebook Python esistenti per iniziare a usare la libreria ibm-watson-studio-lib .
Impostare la libreria
Copy link to section
È necessario apportare le seguenti modifiche nei notebook esistenti per iniziare a utilizzare ibm-watson-studio-lib:
Nel codice utilizzando project-lib modificare:
from project_lib import Project
project = Project("<ProjectId>","<ProjectToken>")
Copy to clipboardCopiato negli appunti
A quanto segue utilizzando ibm-watson-studio-lib:
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})
Copy to clipboardCopiato negli appunti
Configurare la libreria in ambienti Spark
Copy link to section
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:
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
Copy to clipboardCopiato negli appunti
A quanto segue utilizzando ibm-watson-studio-lib:
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})
wslib.spark.provide_spark_context(sc)
Copy to clipboardCopiato negli appunti
Utilizzo libreria
Copy link to section
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.
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()
Copy to clipboardCopiato negli appunti
A quanto segue utilizzando ibm-watson-studio-lib:
name = wslib.here.get_name()
desc = wslib.here.get_description()
Copy to clipboardCopiato negli appunti
Ottieni metadati
Copy link to section
Non esiste alcuna sostituzione per get_matadata in project-lib:
project.get_metadata()
Copy to clipboardCopiato negli appunti
La funzione wslib.here in ibm-watson-studio-lib espone parti di queste informazioni. Per visualizzare quali informazioni sui metadati del progetto sono disponibili, utilizzare:
help(wslib.here.API)
Copy to clipboardCopiato negli appunti
Ad esempio:
wslib.here.get_name(): restituisce il nome del progetto
wslib.here.get_description(): restituisce la descrizione del proejct
wslib.here.get_ID(): restituisce l'ID progetto
wslib.here.get_storage(): restituisce i metadati di archiviazione
Ottieni metadati di memoria
Copy link to section
Nel codice utilizzando project-lib modificare:
project.get_storage_metadata()
Copy to clipboardCopiato negli appunti
A quanto segue utilizzando ibm-watson-studio-lib:
wslib.here.get_storage()
Copy to clipboardCopiato negli appunti
Recupero dei dati
Copy link to section
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", direct_storage=False)
# or:
buffer = project.get_file("MyAssetName.csv", direct_os_retrieval=False)
Copy to clipboardCopiato negli appunti
A quanto segue utilizzando ibm-watson-studio-lib:
buffer = wslib.load_data("MyAssetName.csv")
Copy to clipboardCopiato negli appunti
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")
Copy to clipboardCopiato negli appunti
Salva dati
Copy link to section
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 direct_store=False e set_project_asset=True):
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
Copy link to section
Quando si richiama l'elenco di tutti gli asset del progetto, è possibile passare il parametro facoltativo asset_type 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(asset_type="<asset_type>")
Copy to clipboardCopiato negli appunti
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)
Copy to clipboardCopiato negli appunti
Per elencare i tipi di asset disponibili, utilizzare:
Per utilizzare Spark, devi modificare le funzioni che abilitano il supporto Spark e richiamare l'URL di un file.
Imposta supporto Spark
Copy link to section
Per configurare il supporto Spark:
Nel codice utilizzando project-lib modificare:
# Provide SparkContext during setupfrom project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
Copy to clipboardCopiato negli appunti
A quanto segue utilizzando ibm-watson-studio-lib:
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({'token':'<ProjectToken>'}
# provide SparkContext in a subsequent step
wslib.spark.provide_spark_context(sc)
Copy to clipboardCopiato negli appunti
Richiama URL per accedere a un file da Spark
Copy link to section
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", direct_storage=False)
# or
url = project.get_file_url("MyAssetName.csv", direct_os_retrieval=False)
Copy to clipboardCopiato negli appunti
A quanto segue utilizzando ibm-watson-studio-lib:
url = wslib.spark.get_data_url("MyAssetName.csv")
Copy to clipboardCopiato negli appunti
Ottieni l'URL del file per l'utilizzo con Spark
Copy link to section
Richiama un URL per accedere a un file a cui fa riferimento un asset da Spark tramite Hadoop.
Nel codice utilizzando project-lib modificare:
project.get_file_url("MyFileName.csv", direct_storage=True)
# or
project.get_file_url("MyFileName.csv", direct_os_retrieval=True)
Per salvare i dati in un file nell'archivio progetti:
Nel codice utilizzando project-lib modificare:
# Save and do not create an asset in a project
project.save_data("NewFileName.csv", data, direct_storage=True)
# Or:
project.save_data("NewFileName.csv", data, set_project_asset=False)
Copy to clipboardCopiato negli appunti
A quanto segue utilizzando ibm-watson-studio-lib:
wslib.storage.store_data("NewFileName.csv", data)
Copy to clipboardCopiato negli appunti
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, direct_storage=True, overwrite=True)
# Or:
project.save_data("MyFileName.csv", data, set_project_asset=False, overwrite=True)