IBM Cloud Docs
watsonx.ai ノートブックでの作業

watsonx.ai ノートブックでの作業

IBM® watsonx.dataは watsonx.aiと統合し、 Jupyter Notebookを使ったウェブベースの作業体験を可能にする。 watsonx.ai インターフェイスを使って Jupyter Notebookで独自のコードをビルドし、実行環境として watsonx.data Sparkを使って実行することができる。

Jupyter Notebookの詳細については、 Notebooks を参照。

前提条件

IBM Cloud 上の watsonx.aiのサブスクリプション。

手順

Jupyter Notebook を watsonx.data スパークエンジンで実行するには、以下のようにします:

  1. watsonx.ai プロジェクトを作成する。 watsonx.ai プロジェクトを作成するには、 プロジェクトの作成 を参照してください。

  2. Sparkエンジン環境を作成する。 Jupyter Notebookを実行するには、実行環境テンプレートを作成する必要があります。

    そのためには、UIから watsonx.aiプロジェクトにアクセスする。 管理タブを開く。 テンプレートを作成します。 環境テンプレートの作成については、 環境テンプレートの作成 を参照してください。 テンプレートを作成する際に、 Type as Spark を選択し、 Spark engine リストから watsonx.data インスタンスでプロビジョニングしたネイティブ Spark エンジンを選択します。

  3. Jupyter Notebook アセットを作成し、 Jupyter Notebook エディタツールからアクセスします。 ノートブック・エディターでノートブック・ファイルを作成するには、 ノートブック・エディターでノートブック・ファイルを作成する を参照してください。

    ノートブックを作成する際に、 watsonx.data spark エンジン用に作成した実行環境を指定します。

    ノートブックが編集モードで開きます。 それに取り掛かることができる。 詳しくは、 ノートブック・エディターでノートブック・ファイルを作成する をご覧ください。

watsonx.data カタログへのアクセス

ノートブックのセルに以下のコード・スニペットを追加し、実行する。 このコード・スニペットには、関連する watsonx.data カタログに接続するために必要な設定が含まれています。

conf=spark.sparkContext.getConf()
spark.stop()

from pyspark.sql import SparkSession
from pyspark.sql.functions import col, to_utc_timestamp
import base64,getpass

wxd_username=getpass.getpass("Please enter your username with hms access:").strip() #Prompt for username
wxd_hms_username="ibmlhapikey_"+wxd_username
wxd_hms_password=getpass.getpass("Please enter your api key with hms access:").strip() #Prompt for api key
string_to_encode= wxd_hms_username+":"+wxd_hms_password
wxd_encoded_apikey="Basic " + base64.b64encode(string_to_encode.encode("utf-8")).decode("utf-8")

conf.setAll([("spark.hive.metastore.client.plain.username", wxd_hms_username), \
    ("spark.hive.metastore.client.plain.password", wxd_hms_password), \
    ("spark.hadoop.wxd.apikey", wxd_encoded_apikey)
])

spark = SparkSession.builder.config(conf=conf).enableHiveSupport().getOrCreate()

Shift-Enter を選択することで、ノートブックの実行セルをステップ実行することも、ノートブック全体を実行することもできます。 ユーザー名とパスワードの入力を求められる。 Username は、データ・バケットにアクセスするための API キーを持つユーザの IBM Cloud ID です。 ここでのAPIキーは、Object storeageにアクセスするユーザーのAPIキーです。 API キーを生成するには、 watsonx.data コンソールにログインし、「 Profile」 > 「Profile and Settings」 > 「API Keys 」の順に進み、新しい API キーを生成します。

ユースケースに応じてコード・スニペットを追加し、続けることができる。 詳しくは、 ノートブック・エディターでノートブック・ファイルを作成する をご覧ください。