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 スパークエンジンで実行するには、以下のようにします:
-
watsonx.ai プロジェクトを作成する。 watsonx.ai プロジェクトを作成するには、 プロジェクトの作成 を参照してください。
-
Sparkエンジン環境を作成する。 Jupyter Notebookを実行するには、実行環境テンプレートを作成する必要があります。
そのためには、UIから watsonx.aiプロジェクトにアクセスする。 管理タブを開く。 テンプレートを作成します。 環境テンプレートの作成については、 環境テンプレートの作成 を参照してください。 テンプレートを作成する際に、 Type as Spark を選択し、 Spark engine リストから watsonx.data インスタンスでプロビジョニングしたネイティブ Spark エンジンを選択します。
-
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 キーを生成します。
ユースケースに応じてコード・スニペットを追加し、続けることができる。 詳しくは、 ノートブック・エディターでノートブック・ファイルを作成する をご覧ください。