Die Bibliothek ibm-watson-studio-lib
ist der Nachfolger von project-lib library
. Obwohl Sie weiterhin die project-lib
-API in Ihren Notebooks verwenden können, sollten Sie darüber nachdenken, vorhandene Notebooks für die Verwendung der ibm-watson-studio-lib
-Bibliothek zu migrieren.
Vorteile der Verwendung von ibm-watson-studio-lib
:
- Die Asset-Browsing-API bietet Lesezugriff auf alle Typen von Assets, nicht nur auf die explizit von der Bibliothek unterstützten Typen.
ibm-watson-studio-lib
verwendet eine Namenskonvention für die Constistent-API, die die verfügbaren Funktionen entsprechend ihrem Anwendungsbereich strukturiert.
In den folgenden Abschnitten werden die Änderungen beschrieben, die Sie in vorhandenen Python -Notebooks vornehmen müssen, um mit der Verwendung der Bibliothek ibm-watson-studio-lib
zu beginnen.
Bibliothek einrichten
Sie müssen die folgenden Änderungen in vorhandenen Notebooks vornehmen, um ibm-watson-studio-lib
verwenden zu können:
Ändern Sie im Code mit project-lib
Folgendes:
from project_lib import Project
project = Project("<ProjectId>","<ProjectToken>")
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})
Bibliothek in Spark-Umgebungen einrichten
Sie müssen die folgenden Änderungen in vorhandenen Notebooks vornehmen, um ibm-watson-studio-lib
in Spark-Umgebungen verwenden zu können.
Ändern Sie im Code mit project-lib
Folgendes:
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})
wslib.spark.provide_spark_context(sc)
Bibliotheksnutzung
In den folgenden Abschnitten werden die Codeänderungen beschrieben, die Sie in Ihren Notebooks vornehmen müssen, wenn Sie Funktionen in project-lib
auf die entsprechenden Funktionen in ibm-watson-studio-lib
migrieren.
Projektinformationen abrufen
Um projektbezogene Informationen programmgesteuert abzurufen, müssen Sie die folgenden Funktionen ändern:
Datenverbindungen auflisten
Ändern Sie im Code mit project-lib
Folgendes:
project.get_connections()
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
assets = wslib.list_connections()
wslib.show(assets)
Alternativ können Sie mit ibm-watson-studio-lib
verbundene Datenassets auflisten:
assets = wslib.list_connected_data()
wslib.show(assets)
Datendateien auflisten
Diese Funktion gibt die Liste der Datendateien in Ihrem Projekt zurück.
Ändern Sie im Code, der project-lib
verwendet, Folgendes:
project.get_files()
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
assets = wslib.list_stored_data()
wslib.show(assets)
Name oder Beschreibung abrufen
In ibm-watson-studio-lib
können Sie alle Metadaten zum Projekt, z. B. den Namen eines Projekts oder seine Beschreibung, über den Eingangspunkt wslib.here
abrufen.
Ändern Sie im Code mit project-lib
Folgendes:
name = project.get_name()
desc = project.get_description()
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
name = wslib.here.get_name()
desc = wslib.here.get_description()
Metadaten abrufen
Es gibt keinen Ersatz für get_matadata
in project-lib
:
project.get_metadata()
Die Funktion wslib.here
in ibm-watson-studio-lib
stellt Teile dieser Informationen bereit. Verwenden Sie den folgenden Befehl, um die verfügbaren Projektmetadateninformationen anzuzeigen:
help(wslib.here.API)
Beispiel:
wslib.here.get_name()
: Gibt den Projektnamen zurück.wslib.here.get_description()
: Gibt die Beschreibung des Proejct zurück.wslib.here.get_ID()
: Gibt die Projekt-ID zurück.wslib.here.get_storage()
: Gibt die Speichermetadaten zurück.
Speichermetadaten abrufen
Ändern Sie im Code mit project-lib
Folgendes:
project.get_storage_metadata()
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
wslib.here.get_storage()
Daten abrufen
Für den Zugriff auf Daten in einer Datei müssen Sie die folgenden Funktionen ändern.
Ändern Sie im Code mit project-lib
Folgendes:
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)
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
buffer = wslib.load_data("MyAssetName.csv")
Darüber hinaus bietet ibm-watson-studio-lib
eine Funktion zum Herunterladen und Speichern eines Datenassets im lokalen Dateisystem:
info = wslib.download_file("MyAssetName.csv", "MyLocalFile.csv")
Daten speichern
Um Daten in einer Datei zu speichern, müssen Sie die folgenden Funktionen ändern.
Im Code, der project-lib
verwendet (und für alle Varianten von direct_store=False
und set_project_asset=True
):
project.save_data("NewAssetName.csv", data)
project.save_data("MyAssetName.csv", data, overwrite=True)
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
asset = wslib.save_data("NewAssetName.csv", data)
wslib.show(asset)
asset = wslib.save_data("MyAssetName.csv", data, overwrite=True)
wslib.show(asset)
Darüber hinaus bietet ibm-watson-studio-lib
eine Funktion zum Hochladen einer lokalen Datei in den Projektspeicher und zum Erstellen eines Datenassets:
asset = wslib.upload_file("MyLocalFile.csv", "MyAssetName.csv")
wslib.show(asset)
Verbindungsinformationen abrufen
Um die Metadaten zurückzugeben, die einer Verbindung zugeordnet sind, müssen Sie die folgenden Funktionen ändern.
Ändern Sie im Code mit project-lib
Folgendes:
connprops = project.get_connection(name="MyConnection")
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
connprops = wslib.get_connection("MyConnection")
Informationen zu verbundenen Daten abrufen
Um die einem verbundenen Datenasset zugeordneten Metadaten zurückzugeben, müssen Sie die folgenden Funktionen ändern.
Ändern Sie im Code mit project-lib
Folgendes:
dataprops = project.get_connected_data(name="MyConnectedData")
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
dataprops = wslib.get_connected_data("MyConnectedData")
Auf Asset nach ID anstelle des Namens zugreifen
Sie können die Metadaten einer Verbindung oder eines verbundenen Datenassets zurückgeben, indem Sie auf das Asset nach ID anstatt nach Name zugreifen.
Ändern Sie in project-lib
Folgendes:
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")
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
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
ist es nicht möglich, auf Dateien (gespeicherte Datenassets) nach ID zuzugreifen. Dies ist nur nach Namen möglich. Die Bibliothek ibm-watson-studio-lib
unterstützt den Zugriff auf Dateien nach ID. Siehe Verwendung von ibm-watson-studio-lib.
Assets nach Assettyp abrufen
Wenn Sie die Liste aller Projektassets abrufen, können Sie den optionalen Parameter asset_type
an die Funktion get_assets
übergeben, mit der Sie Assets nach Typ filtern können. Die gültigen Werte für diesen Parameter in project-lib
sind data_asset
, connection
und asset
.
Ändern Sie im Code mit project-lib
Folgendes:
project.get_assets()
# Or, for a supported asset type:
project.get_assets("<asset_type>")
# Or:
project.get_assets(asset_type="<asset_type>")
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
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)
Verwenden Sie zum Auflisten der verfügbaren Assettypen Folgendes:
assettypes = wslib.assets.list_asset_types()
wslib.show(assettypes)
Spark-Unterstützung
Zum Arbeiten mit Spark müssen Sie die Funktionen ändern, die die Spark-Unterstützung aktivieren und die URL zu einer Datei abrufen.
Spark-Unterstützung einrichten
So richten Sie Spark-Unterstützung ein:
Ändern Sie im Code mit project-lib
Folgendes:
# Provide SparkContext during setup
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
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)
URL für Zugriff auf eine Datei aus Spark abrufen
Gehen Sie wie folgt vor, um eine URL für den Zugriff auf eine Datei, auf die von einem Asset verwiesen wird, aus Spark über Hadoopabzurufen:
Ändern Sie im Code mit project-lib
Folgendes:
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)
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
url = wslib.spark.get_data_url("MyAssetName.csv")
Datei-URL für Verwendung mit Spark abrufen
Rufen Sie eine URL ab, um über Hadoopauf eine Datei zuzugreifen, auf die von einem Asset über Spark verwiesen wird.
Ändern Sie im Code mit project-lib
Folgendes:
project.get_file_url("MyFileName.csv", direct_storage=True)
# or
project.get_file_url("MyFileName.csv", direct_os_retrieval=True)
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
wslib.spark.storage.get_data_url("MyFileName.csv")
Direkter Zugriff auf Projektspeicher
Sie können Daten aus dem Projektspeicher abrufen oder Daten im Projektspeicher speichern, ohne die Projektassets zu synchronisieren.
Daten abrufen
So rufen Sie Daten aus dem Projektspeicher ab:
Ändern Sie im Code mit project-lib
Folgendes:
project.get_file("MyFileName.csv", direct_storage=True)
# Or:
project.get_file("MyFileName.csv", direct_os_retrieval=True)
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
wslib.storage.fetch_data("MyFileName.csv")
Daten speichern
So speichern Sie Daten in einer Datei im Projektspeicher:
Ändern Sie im Code mit project-lib
Folgendes:
# 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)
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
wslib.storage.store_data("NewFileName.csv", data)
Ändern Sie im Code mit project-lib
Folgendes:
# 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)
Gehen Sie wie folgt vor, wenn Sie ibm-watson-studio-lib
verwenden:
wslib.storage.store_data("MyFileName.csv", data, overwrite=True)
Außerdem stellt ibm-watson-studio-lib
eine Funktion zum Download einer Datei aus dem Projektspeicher in das lokale Dateisystem bereit:
wslib.storage.download_file("MyStorageFile.csv", "MyLocalFile.csv")
Sie können eine Datei auch wie folgt im Projektspeicher als Datenasset registrieren:
wslib.storage.register_asset("MyStorageFile.csv", "MyAssetName.csv")
Weitere Informationen
Informationen zur Verwendung der ibm-watson-studio-lib
-Bibliothek für Python in Notebooks finden Sie unter ibm-watson-studio-lib für Python.
Übergeordnetes Thema: ibm-watson-studio-lib verwenden