2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CP4DaaS Watson Studio で作成したSPSSジョブをAPI (Python Code)で実行する方法

Last updated at Posted at 2022-12-22

目次

0:概要
1:モデルの構築
2:IBM Cloud object storage(※以降ICOSと省略) に接続
3:SPSSジョブをAPI(Python Code)で実行
4:SPSSジョブを外部からAPIで実行

0:概要

CP4DaaS環境でSPSSモデルを構築しています。
SPSSモデルは@makaishiさんのSPSS Modeler Flowで決定木をつくるを参考にして構築します。
モデルの計算結果は、拡張エクスポートを活用して、IBM Cloud object Storage に出力するようにしています。
プロジェクト上でモデルをジョブ化し、外部からAPIで実行できるようにしています。

1:モデルの構築

@makaishiさんのSPSS Modeler Flowで決定木をつくるを参考にして、モデルの構築をお願いします。

モデル構築が完了すると、以下のような状態になっていると思います。(※拡張エクスポートは除く)
スクリーンショット 2022-12-07 13.06.58.png

2:IBM Cloud object storage(※以降ICOSと省略) に接続

拡張エクスポートを活用したICOSへの計算結果出力方法を解説します。
スクリーンショット 2022-12-07 13.09.32.png

2-1:ICOSの立ち上げ
IBM Cloudにログイン頂き、リソースリストからICOSを選択してください。
※ICOSがない場合は新しくリソースの作成をお願いします。
※今回はICOSに出力しますが、必要に応じて出力先を変更してください。
スクリーンショット 2022-12-07 13.14.34.png

2-2:バケットの作成
すぐに始めるをタップ(※必要に応じてカスタマイズをお願いします。)
スクリーンショット 2022-12-07 13.52.14.png
バケットネームを任意に設定
スクリーンショット 2022-12-07 13.54.44.png

そのあとは、デフォルト設定及びファイルアップロードなしで、バケットを構築します
構築が完了すると以下のように、ICOSにバケット(demo1207)を作成できていると思います。
スクリーンショット 2022-12-07 17.04.56.png

インフォメーション
バケット作成の際、バケットカスタマイズを選択する場合は、別途サービス資格者情報を構築する必要があります。
スクリーンショット 2022-12-15 14.38.36.png

2-3:サービス資格情報の確認
バケットを作成すると、サービス資格情報も同時に作成されます。
スクリーンショット 2022-12-07 17.55.05.png
サービス資格情報を確認すると、API情報が記載されています。
これらの情報を活用して、プロジェクトにICOSを紐付けます。
スクリーンショット 2022-12-07 17.56.31.png

2-4:拡張エクスポートにICOSを接続
プロジェクトに戻り、モデルに拡張エクスポートを追加
スクリーンショット 2022-12-07 18.43.28.png

拡張エクスポートをダブルクリック、"Python for spark"を選択する。
スクリーンショット 2022-12-07 18.45.32.png

Pythonシンタックスに、Github_Python_for_sparkのスクリプトをコピー&ペーストしてください。
ICOS_バケットのサービス資格情報を”***”に追記してください。
スクリーンショット 2022-12-07 19.25.49.png

インフォメーション
スクリプト・タイプは、Pythonも選択可能です。
Pythonを選択する場合は、Github_Native_Pythonのスクリプトをコピー&ペーストしてください。

2-5:出力確認
Python_for_Sparkの設定が完了した後、モデルを実行します。
問題なければ、出力が無事実行されました。
スクリーンショット 2022-12-07 19.33.12.png

ICOSに移動して、出力先のバケット_demo1207を確認すると、先ほど実行したモデルの計算結果が無事出力されていることを確認。
ファイルネームがモデル実行時間になっている。
スクリーンショット 2022-12-07 19.36.16.png

3:SPSSジョブをAPI(Python Code)で実行

外部からAPIでJOBを実行する方法を説明します。
※誰もが使えるように、サービスIDを作成しAPI_Keyを生成するとこからから説明をします。
個人のAPI_Keyを使用する場合は、3-2からセットアップをお願いします。

3-1:サービスIDの作成と権限の付与
※下記の記事を参考にして、サービスIDの作成と権限付与の実施をお願いします。
IBM Cloud サービスID作成方法

(2023年4月3日追記)
・現在のWatson Studioジョブにおいて、サービスIDの利用はサポートされません。
・Watson Studioジョブは、ジョブ作成ユーザーによる実行が必要です。ジョブ実行には、ジョブ作成ユーザーの個人APIキーをご利用ください。

3-2:SPSSモデルフローのジョブ化
プロジェクトで構築したフローの新規ジョブを選択
スクリーンショット 2022-12-08 13.46.13.png

名前:任意のジョブネーム
説明:任意の説明
環境定義:任意の環境を選択
記入が完了したら次へを選択
スクリーンショット 2022-12-08 13.49.38.png

ジョブはターミナルノードを選択
※必要に応じて、ブランチを個別選択してください
選択が完了したら次へを選択
スクリーンショット 2022-12-08 13.52.14.png

APIで実施するため、スケジュールはOFFにします
※API側で定期事項処理が可能なため、SPSS側では設定を行いません
スクリーンショット 2022-12-08 13.56.38.png

ジョブの作成
通知はOFFで設定する
スクリーンショット 2022-12-08 18.03.16.png

問題がなければジョブを作成する
スクリーンショット 2022-12-08 18.05.01.png

問題なくジョブを作成することができました
スクリーンショット 2022-12-08 18.06.53.png

3-3:API実行環境の構築
GithubからREJ_sample.pyのダウンロードをお願いします。

下記の部分は、***に必要事項を記入してください。
api_key:サービスIDに紐付けしたAPI_key※1 or 個人API_Key
job_name:プロジェクトのジョブ名※2
project_id:プロジェクトID※3
スクリーンショット 2022-12-08 13.42.18.png

下記の部分は、モデルの処理状況に合わせて変更をお願いします。
※処理が長引く場合は、数値を大きくした方が無難です。
スクリーンショット 2022-12-09 14.25.11.png

※1:IBM Cloud サービスID作成方法、で作成したサービスIDのAPI_keyを使用してます。
※2:プロジェクト→プロジェクトネーム→ジョブ
外部APIで実行したジョブ名を選択してください。
今回は、先ほど作成した、Taitanic_REJ_2_sampleを使います
スクリーンショット 2022-12-09 10.07.59.png
※3:プロジェクト→プロジェクトネーム→資産
赤枠のプロジェクトIDを使用してください。
スクリーンショット 2022-12-09 10.11.05.png

3-5:コラボレーターの追加
プロジェクト→管理→アクセス制御→コラボレーターの追加
スクリーンショット 2022-12-09 13.18.11.png

サービスIDの追加
スクリーンショット 2022-12-09 13.20.31.png

先ほど作ったサービスIDを選択
ロール:エディター以上
選択が終わったら、追加
スクリーンショット 2022-12-09 13.28.12.png

以上で、プロジェクトのJOBを外部からAPIで実行するための環境設定は完了です。

4:SPSSジョブを外部からAPIで実行

必要事項を記入した、REJ_sample.pyを任意のフォルダに格納してください。
※任意のファイルネームに変更して使用してください。

REJ_sample.pyが保存されているディレクトリに移動をして、

Python3 REJ_sample.py

を実行します。
問題がなければ、JOBを実行することができます。
正常に実行が完了すると、Compleatedが表示されます。
スクリーンショット 2022-12-09 13.30.52.png

計算結果も、問題なくICOS_バケット(demo1207)に出力されています。
スクリーンショット 2022-12-09 14.21.15.png
CP4DaaS Watson Studio で作成したSPSSジョブをAPI (Python Code)で実行する方法の解説は、以上です。

製品リンク

SPSS Modeler ジョブの作成
SPSS チュートリアル

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?