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

È 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>")

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>"})

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:

from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")

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)

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. Per visualizzare quali informazioni sui metadati del progetto sono disponibili, utilizzare:

help(wslib.here.API)

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

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", direct_storage=False)

# or:
buffer = project.get_file("MyAssetName.csv", direct_os_retrieval=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 direct_store=False e set_project_asset=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 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>")

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
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")

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)

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", direct_storage=False)
# or
url = project.get_file_url("MyAssetName.csv", direct_os_retrieval=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:

project.get_file_url("MyFileName.csv", direct_storage=True)
# or
project.get_file_url("MyFileName.csv", direct_os_retrieval=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", direct_storage=True)

# Or:
project.get_file("MyFileName.csv", direct_os_retrieval=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:

# 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)

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, direct_storage=True, overwrite=True)

# Or:
project.save_data("MyFileName.csv", data, set_project_asset=False, overwrite=True)

A quanto segue utilizzando ibm-watson-studio-lib:

wslib.storage.store_data("MyFileName.csv", data, overwrite=True)

Inoltre, ibm-watson-studio-lib fornisce una funzione per scaricare un file dall'archivio del progetto nel filesystem locale:

wslib.storage.download_file("MyStorageFile.csv", "MyLocalFile.csv")

È anche possibile registrare un file nella memoria 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 Python nei notebook, vedi ibm - watson - studio - lib for Python.

Argomento principale: Utilizzo di ibm - watson - studio - lib