Biblioteka ibm-watson-studio-lib
jest następcą project-lib library
. Mimo że nadal można kontynuować korzystanie z interfejsu API produktu project-lib
w notatnikach, należy zastanowić się nad migracją istniejących notebooków w celu korzystania z biblioteki produktu ibm-watson-studio-lib
.
Zalety korzystania z produktu ibm-watson-studio-lib
obejmują:
- Funkcja API przeglądania zasobów umożliwia dostęp tylko do odczytu do wszystkich typów zasobów, nie tylko tych jawnie obsługiwanych przez bibliotekę.
- Produkt
ibm-watson-studio-lib
korzysta z konwencji nazewnictwa interfejsów API, które struktury są dostępne zgodnie z ich obszarem zastosowania.
W poniższych sekcjach opisano zmiany, które należy wprowadzić w istniejących notebookach Python , aby rozpocząć korzystanie z biblioteki produktu ibm-watson-studio-lib
.
Konfigurowanie biblioteki
Aby rozpocząć korzystanie z produktu ibm-watson-studio-lib
, należy wprowadzić następujące zmiany w istniejących notebookach:
W kodzie za pomocą zmiany project-lib
:
from project_lib import Project
project = Project("<ProjectId>","<ProjectToken>")
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})
Konfigurowanie biblioteki w środowiskach Spark
Aby rozpocząć korzystanie z produktu ibm-watson-studio-lib
w środowiskach Spark, należy wprowadzić następujące zmiany w istniejących notebookach.
W kodzie za pomocą zmiany project-lib
:
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
Do następujących elementów przy użyciu produktu 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)
Użycie biblioteki
W poniższych sekcjach opisano zmiany kodu, które należy wprowadzić w notatnikach podczas migrowania funkcji w programie project-lib
do odpowiednich funkcji w produkcie ibm-watson-studio-lib
.
Pobierz informacje o projekcie
Aby programowo pobierać informacje związane z projektem, należy zmienić następujące funkcje:
Wyświetlenie połączeń z danymi
W kodzie za pomocą zmiany project-lib
:
project.get_connections()
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
assets = wslib.list_connections()
wslib.show(assets)
Alternatywnie, z programem ibm-watson-studio-lib
, można wyświetlić listę połączonych zasobów danych:
assets = wslib.list_connected_data()
wslib.show(assets)
Lista plików danych
Ta funkcja zwraca listę plików danych w projekcie.
W kodzie za pomocą zmiany project-lib
przy użyciu:
project.get_files()
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
assets = wslib.list_stored_data()
wslib.show(assets)
Pobierz nazwę lub opis
W programie ibm-watson-studio-lib
można pobrać wszystkie metadane dotyczące projektu, na przykład nazwę projektu lub jego opis, za pośrednictwem punktu wejścia wslib.here
.
W kodzie za pomocą zmiany project-lib
:
name = project.get_name()
desc = project.get_description()
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
name = wslib.here.get_name()
desc = wslib.here.get_description()
Uzyskaj metadane
W produkcie project-lib
nie ma żadnego zamiennika dla produktu get_matadata
:
project.get_metadata()
Funkcja wslib.here
w ibm-watson-studio-lib
ujawnia części tych informacji. Aby zobaczyć, jakie informacje o metadanych projektu są dostępne, należy użyć:
help(wslib.here.API)
Na przykład:
wslib.here.get_name()
: zwraca nazwę projektu.wslib.here.get_description()
: zwraca opis proejct.wslib.here.get_ID()
: zwraca identyfikator projektu.wslib.here.get_storage()
: zwraca metadane pamięci masowej.
Pobierz metadane pamięci masowej
W kodzie za pomocą zmiany project-lib
:
project.get_storage_metadata()
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
wslib.here.get_storage()
Pobierz dane
Aby uzyskać dostęp do danych w pliku, należy zmienić następujące funkcje.
W kodzie za pomocą zmiany project-lib
:
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)
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
buffer = wslib.load_data("MyAssetName.csv")
Dodatkowo program ibm-watson-studio-lib
oferuje funkcję pobierania zasobu danych i przechowywania ich w lokalnym systemie plików:
info = wslib.download_file("MyAssetName.csv", "MyLocalFile.csv")
Zapisz dane
Aby zapisać dane w pliku, należy zmienić następujące funkcje.
W kodzie za pomocą zmiany project-lib
(oraz we wszystkich wariantach produktów direct_store=False
i set_project_asset=True
):
project.save_data("NewAssetName.csv", data)
project.save_data("MyAssetName.csv", data, overwrite=True)
Do następujących elementów przy użyciu produktu 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)
Dodatkowo program ibm-watson-studio-lib
oferuje funkcję przesyłania lokalnego pliku do pamięci masowej projektu i tworzenia zasobu danych:
asset = wslib.upload_file("MyLocalFile.csv", "MyAssetName.csv")
wslib.show(asset)
Pobierz informacje o połączeniu
Aby zwrócić metadane powiązane z połączeniem, należy zmienić następujące funkcje.
W kodzie za pomocą zmiany project-lib
:
connprops = project.get_connection(name="MyConnection")
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
connprops = wslib.get_connection("MyConnection")
Pobierz informacje o połączonym danych
Aby zwrócić metadane powiązane z połączonym zasobem danych, należy zmienić następujące funkcje.
W kodzie za pomocą zmiany project-lib
:
dataprops = project.get_connected_data(name="MyConnectedData")
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
dataprops = wslib.get_connected_data("MyConnectedData")
Uzyskaj dostęp do zasobu aplikacyjnego według identyfikatora, a nie nazwy
Metadane połączenia lub połączonego zasobu danych można zwrócić, uzyskując dostęp do zasobu według identyfikatora, a nie według nazwy.
W programie project-lib
zmień:
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")
Do następujących elementów przy użyciu produktu 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")
W produkcie project-lib
nie jest możliwe uzyskiwanie dostępu do plików (zapisanych zasobów danych) według identyfikatora. Można to zrobić tylko po nazwie. Biblioteka ibm-watson-studio-lib
obsługuje dostęp do plików według identyfikatora. Patrz Using ibm-watson-studio-lib.
Pobierz zasoby według typu zasobu
Podczas pobierania listy wszystkich zasobów aplikacyjnych projektu można przekazać opcjonalną wartość parametru asset_type
do funkcji get_assets
, która umożliwia filtrowanie zasobów według typu. The accepted values for this parameter in project-lib
are data_asset
, connection
and asset
.
W kodzie za pomocą zmiany project-lib
:
project.get_assets()
# Or, for a supported asset type:
project.get_assets("<asset_type>")
# Or:
project.get_assets(asset_type="<asset_type>")
Do następujących elementów przy użyciu produktu 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)
Aby wyświetlić listę dostępnych typów zasobów, należy użyć następującej komendy:
assettypes = wslib.assets.list_asset_types()
wslib.show(assettypes)
Obsługa iskra
Aby pracować z Spark, należy zmienić funkcje, które umożliwiają obsługę Spark i pobieranie adresu URL do pliku.
Konfigurowanie obsługi Spark
Aby skonfigurować obsługę Spark:
W kodzie za pomocą zmiany project-lib
:
# Provide SparkContext during setup
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
Do następujących elementów przy użyciu produktu 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)
Pobieranie adresu URL w celu uzyskania dostępu do pliku ze środowiska Spark
Aby pobrać adres URL w celu uzyskania dostępu do pliku, do którego odwołuje się zasób aplikacyjny ze Spark za pośrednictwem Hadoop:
W kodzie za pomocą zmiany project-lib
:
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)
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
url = wslib.spark.get_data_url("MyAssetName.csv")
Pobierz adres URL pliku do użycia z Spark
Pobierz adres URL, aby uzyskać dostęp do pliku, do którego odwołuje się zasób aplikacyjny ze środowiska Spark za pośrednictwem Hadoop.
W kodzie za pomocą zmiany project-lib
:
project.get_file_url("MyFileName.csv", direct_storage=True)
# or
project.get_file_url("MyFileName.csv", direct_os_retrieval=True)
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
wslib.spark.storage.get_data_url("MyFileName.csv")
Dostęp do pamięci masowej projektu bezpośrednio
Można pobierać dane z pamięci masowej projektu lub zapisywać dane w pamięci masowej projektu, nie synchronizując zasobów aplikacyjnych projektu.
Pobierz dane
Aby pobrać dane z pamięci masowej projektu:
W kodzie za pomocą zmiany project-lib
:
project.get_file("MyFileName.csv", direct_storage=True)
# Or:
project.get_file("MyFileName.csv", direct_os_retrieval=True)
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
wslib.storage.fetch_data("MyFileName.csv")
Zapisz dane
Aby zapisać dane w pliku w pamięci masowej projektu:
W kodzie za pomocą zmiany project-lib
:
# 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)
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
wslib.storage.store_data("NewFileName.csv", data)
W kodzie za pomocą zmiany project-lib
:
# 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)
Do następujących elementów przy użyciu produktu ibm-watson-studio-lib
:
wslib.storage.store_data("MyFileName.csv", data, overwrite=True)
Dodatkowo, produkt ibm-watson-studio-lib
udostępnia funkcję pobierania pliku z pamięci masowej projektu do lokalnego systemu plików:
wslib.storage.download_file("MyStorageFile.csv", "MyLocalFile.csv")
Istnieje również możliwość zarejestrowania pliku w pamięci masowej projektu jako zasobu danych przy użyciu:
wslib.storage.register_asset("MyStorageFile.csv", "MyAssetName.csv")
Więcej inform.
Aby użyć biblioteki ibm-watson-studio-lib
dla języka Python w notatnikach, należy zapoznać się z podręcznikami ibm-watson-studio-lib for Python.
Temat nadrzędny: Korzystanie z biblioteki ibm-watson-studio-lib