0 / 0
Go back to the English version of the documentation
Migrowanie z projektu-lib dla Python do biblioteki ibm-watson-studio-lib
Last updated: 06 lip 2023
Migrowanie z projektu-lib dla Python do biblioteki ibm-watson-studio-lib

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-libmoż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-libnie 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-libnie 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

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more