R 用の project-lib から ibm-watson-studio-lib へのマイグレーション

ibm-watson-studio-lib ライブラリーは、 project-lib library の後継です。 ノートブックで引き続き project-lib API を使用できますが、非推奨になっているため、 ibm-watson-studio-lib ライブラリーを使用するように既存のノートブックをマイグレーションすることを検討してください。

注:

project-lib ライブラリーは、新しい 25.1 ランタイムから削除されます。 以前のランタイムでは、 project-lib は引き続き使用できます。

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

  • ibm-watson-studio-lib ライブラリーは、プロジェクト内のノートブック、および デプロイメント・スペース にプロモートされたノートブックで、コードを変更することなく使用できます。 project-lib では、スコープはプロジェクトのみに制限されます。
  • 資産 の参照 API は、ライブラリーによって明示的にサポートされているものだけでなく、すべてのタイプの 資産 への読み取り専用アクセスを提供します。
  • ibm-watson-studio-lib は、使用可能な関数をアプリケーションの領域に従って構造化する、一貫性のある API 命名規則を使用します。

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

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

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

project-lib を使用するコードで、次のように変更します。

library("projectLib")
project <- Project$new()

ibm-watson-studio-lib を使用して、以下のようにします。

library("ibmWatsonStudioLib")
wslib <- access_project_or_space()

ライブラリーの使用

以下のセクションでは、 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 は、この情報の一部を公開します。 wslib$here では、以下の機能を使用できます。

  • wslib$here$get_name(): プロジェクト名を返します。
  • wslib$here$get_description(): プロジェクトの説明を返します。
  • 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", directStorage=FALSE)

# or:
buffer <- project$get_file("MyAssetName.csv", directOsRetrieval=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 を使用するコードで、次のように変更します (および directStorage=FALSE および setProjectAsset=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 の使用 を参照してください。

資産 ・タイプ別の 資産 の取り出し

すべてのプロジェクト・ 資産 のリストを取得する場合、オプション・パラメーター assetType を関数 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(assetType="<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
library(projectLib)
project <- projectLib::Project$new(sc, "<ProjectId>", "ProjectToken")

ibm-watson-studio-lib を使用して、以下のようにします。

library(ibmWatsonStudioLib) wslib <- access_project_or_space(list("token" = "ProjectToken"))

# provide SparkContext after initialization
wslib$spark$provide_spark_context(sc)

URL を取得して Spark からファイルにアクセスする

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

project-lib を使用するコードで、次のように変更します。

url = project$get_file_url("MyAssetName.csv")

# or
url = project$get_file_url("MyAssetName.csv", directStorage=FALSE)

# or
url = project$get_file_url("MyAssetName.csv", directOsRetrieval=FALSE)

ibm-watson-studio-lib を使用して、以下のようにします。

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

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

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

project-lib を使用するコードで、次のように変更します。

url = project$get_file_url("MyFileName.csv, directStorage=TRUE)

# or
url = project$get_file_url("MyFileName.csv", directOsRetrieval=TRUE)

ibm-watson-studio-lib を使用して、以下のようにします。

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

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

プロジェクト・ 資産 を同期させずに、プロジェクト・ストレージからデータをフェッチしたり、プロジェクト・ストレージにデータを保存したりすることができます。

データの取り出し

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

project-lib を使用するコードで、次のように変更します。

project$get_file("MyFileName.csv", directStorage=TRUE)

# Or:
project$get_file("MyFileName.csv", directOsRetrieval=TRUE)

ibm-watson-studio-lib を使用して、以下のようにします。

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

データの保存

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

project-lib を使用するコードで、次のように変更します。

project$save_data("NewFileName.csv", data, directStorage=TRUE)

# Or:
project$save_data("NewFileName.csv", data, setProjectAsset=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, directStorage=TRUE, overwrite=TRUE)

# Or:
project$save_data("MyFileName.csv", data, setProjectAsset=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")

詳細はこちら

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