0 / 0
資料の 英語版 に戻る
Python の project-lib から ibm-watson-studio-lib へのマイグレーション
最終更新: 2024年10月07日
Python の project-lib から ibm-watson-studio-lib へのマイグレーション

ibm-watson-studio-lib ライブラリーは、 project-lib libraryの後継です。 ノートブックでは引き続き project-lib API を使用できますが、 ibm-watson-studio-lib ライブラリーを使用するために既存のノートブックをマイグレーションすることを検討する必要があります。

ibm-watson-studio-lib を使用する利点は次のとおりです。

  • 資産参照 API は、ライブラリーによって明示的にサポートされている資産だけでなく、すべてのタイプの資産への読み取り専用アクセスを提供します。
  • ibm-watson-studio-lib は、アプリケーションの領域に従って使用可能な関数を構造化する、永続的な API 命名規則を使用します。

以下のセクションでは、 ibm-watson-studio-lib ライブラリーの使用を開始するために既存の Python ノートブックで行う必要がある変更について説明します。

ライブラリーのセットアップ

ibm-watson-studio-libの使用を開始するには、既存のノートブックで以下の変更を行う必要があります。

project-lib を使用するコードで、以下を変更します。

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

ibm-watson-studio-libを使用して以下を行います。

from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})

Spark 環境でのライブラリーのセットアップ

Spark 環境で ibm-watson-studio-lib の使用を開始するには、既存のノートブックで以下の変更を行う必要があります。

project-lib を使用するコードで、以下を変更します。

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

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)

ライブラリーの使用

以下のセクションでは、 project-lib の機能を ibm-watson-studio-libの対応する機能にマイグレーションするときにノートブックで行う必要があるコード変更について説明します。

プロジェクト情報の取得

プロジェクト関連情報をプログラマチックに取り出すには、以下の関数を変更する必要があります。

データ接続のリスト

project-lib を使用するコードで、以下を変更します。

project.get_connections()

ibm-watson-studio-libを使用して以下を行います。

assets = wslib.list_connections()
wslib.show(assets)

あるいは、 ibm-watson-studio-libを使用して、接続されているデータ資産をリストすることもできます。

assets = wslib.list_connected_data()
wslib.show(assets)

データ・ファイルのリスト

この関数は、プロジェクト内のデータ・ファイルのリストを返します。

project-lib を使用するコードで、以下を使用して変更します。

project.get_files()

ibm-watson-studio-libを使用して以下を行います。

assets = wslib.list_stored_data()
wslib.show(assets)

名前または説明の取得

ibm-watson-studio-libでは、エントリー・ポイント wslib.hereを介して、プロジェクトに関するメタデータ (プロジェクトの名前やその説明など) を取得できます。

project-lib を使用するコードで、以下を変更します。

name = project.get_name()
desc = project.get_description()

ibm-watson-studio-libを使用して以下を行います。

name = wslib.here.get_name()
desc = wslib.here.get_description()

メタデータの取得

project-libには、 get_matadata の後継製品はありません。

project.get_metadata()

ibm-watson-studio-lib の関数 wslib.here は、この情報の一部を公開します。 使用可能なプロジェクト・メタデータ情報を確認するには、以下を使用します。

help(wslib.here.API)

次に例を示します。

  • wslib.here.get_name(): プロジェクト名を返します。
  • wslib.here.get_description(): proejct の説明を返します。
  • wslib.here.get_ID(): プロジェクト ID を返します。
  • wslib.here.get_storage(): ストレージ・メタデータを返します。

ストレージ・メタデータの取得

project-lib を使用するコードで、以下を変更します。

project.get_storage_metadata()

ibm-watson-studio-libを使用して以下を行います。

wslib.here.get_storage()

データの取り出し

ファイル内のデータにアクセスするには、以下の機能を変更する必要があります。

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)

ibm-watson-studio-libを使用して以下を行います。

buffer = wslib.load_data("MyAssetName.csv")

さらに、 ibm-watson-studio-lib には、データ資産をダウンロードしてローカル・ファイル・システムに保管する機能が用意されています。

info = wslib.download_file("MyAssetName.csv", "MyLocalFile.csv")

データの保存

データをファイルに保存するには、以下の機能を変更する必要があります。

project-lib を使用するコードでの変更 (および direct_store=Falseset_project_asset=Trueのすべてのバリエーション):

project.save_data("NewAssetName.csv", data)
project.save_data("MyAssetName.csv", data, overwrite=True)

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)

さらに、 ibm-watson-studio-lib には、ローカル・ファイルをプロジェクト・ストレージにアップロードし、データ資産を作成する機能が用意されています。

asset = wslib.upload_file("MyLocalFile.csv", "MyAssetName.csv")
wslib.show(asset)

接続情報の取得

接続に関連付けられたメタデータを返すには、以下の関数を変更する必要があります。

project-lib を使用するコードで、以下を変更します。

connprops = project.get_connection(name="MyConnection")

ibm-watson-studio-libを使用して以下を行います。

connprops = wslib.get_connection("MyConnection")

接続されたデータ情報の取得

接続されたデータ資産に関連付けられたメタデータを返すには、以下の関数を変更する必要があります。

project-lib を使用するコードで、以下を変更します。

dataprops = project.get_connected_data(name="MyConnectedData")

ibm-watson-studio-libを使用して以下を行います。

dataprops = wslib.get_connected_data("MyConnectedData")

名前ではなく ID で資産にアクセスする

名前ではなく ID で資産にアクセスすることで、接続または接続されたデータ資産のメタデータを返すことができます。

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

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

project-libでは、ID を使用してファイル (保管データ資産) にアクセスすることはできません。 これは名前でのみ行うことができます。 ibm-watson-studio-lib ライブラリーは、ID によるファイルへのアクセスをサポートします。 ibm-watson-studio-lib の使用を参照してください。

アセット・タイプによるアセットの取り出し

すべてのプロジェクト資産のリストを取得するときに、オプション・パラメーター asset_type を関数 get_assets に渡すことができます。これにより、資産をタイプでフィルターに掛けることができます。 project-lib でこのパラメーターに使用できる値は、 data_assetconnection 、および assetです。

project-lib を使用するコードで、以下を変更します。

project.get_assets()

# Or, for a supported asset type:
project.get_assets("<asset_type>")

# Or:
project.get_assets(asset_type="<asset_type>")

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)

使用可能な資産タイプをリストするには、以下を使用します。

assettypes = wslib.assets.list_asset_types()
wslib.show(assettypes)

Spark サポート

Spark を使用するには、Spark サポートを有効にしてファイルの URL を取得する機能を変更する必要があります。

Spark サポートのセットアップ

Spark サポートをセットアップするには、以下のようにします。

project-lib を使用するコードで、以下を変更します。

# Provide SparkContext during setup
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")

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)

Spark からファイルにアクセスするための URL の取得

Hadoopを介して Spark から資産によって参照されるファイルにアクセスするための URL を取得するには、以下のようにします。

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)

ibm-watson-studio-libを使用して以下を行います。

url = wslib.spark.get_data_url("MyAssetName.csv")

Spark で使用するためのファイル URL の取得

Hadoopを介して Spark から資産によって参照されるファイルにアクセスするための URL を取得します。

project-lib を使用するコードで、以下を変更します。

project.get_file_url("MyFileName.csv", direct_storage=True)
# or
project.get_file_url("MyFileName.csv", direct_os_retrieval=True)

ibm-watson-studio-libを使用して以下を行います。

wslib.spark.storage.get_data_url("MyFileName.csv")

プロジェクト・ストレージへの直接アクセス

プロジェクト資産を同期することなく、プロジェクト・ストレージからデータを取り出すか、プロジェクト・ストレージにデータを保存することができます。

データの取り出し

プロジェクト・ストレージからデータをフェッチするには、以下のようにします。

project-lib を使用するコードで、以下を変更します。

project.get_file("MyFileName.csv", direct_storage=True)

# Or:
project.get_file("MyFileName.csv", direct_os_retrieval=True)

ibm-watson-studio-libを使用して以下を行います。

wslib.storage.fetch_data("MyFileName.csv")

データの保存

プロジェクト・ストレージ内のファイルにデータを保存するには、以下のようにします。

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)

ibm-watson-studio-libを使用して以下を行います。

wslib.storage.store_data("NewFileName.csv", data)

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)

ibm-watson-studio-libを使用して以下を行います。

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

また、 ibm-watson-studio-lib には、プロジェクト・ストレージからローカル・ファイル・システムにファイルをダウンロードする機能が用意されています。

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

以下を使用して、プロジェクト・ストレージ内のファイルをデータ資産として登録することもできます。

wslib.storage.register_asset("MyStorageFile.csv", "MyAssetName.csv")

もっと見る

ノートブックで Python 用の ibm-watson-studio-lib ライブラリーを使用するには、 ibm-watson-studio-lib for Pythonを参照してください。

親トピック: ibm-watson-studio-lib の使用

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細