IBM SPSS Modeler にPingOne のデータをシームレスに読み込む方法

IBM SPSS Modeler とCData ODBC ドライバを使ってPingOne のデータを取り込む方法をご紹介します。

杉本和也
リードエンジニア

最終更新日:2023-10-01

この記事で実現できるPingOne 連携のシナリオ

こんにちは!リードエンジニアの杉本です。

本記事では、データサイエンティスト向けのツールとして有名なIBM SPSS Modeler でCData Driver を利用し、各種クラウドサービスのデータを取り込み、予測モデル作成につなげる方法を紹介したいと思います。

IBM SPSS Modeler とは?

IBMが提供するビジュアル・データサイエンスと機械学習(ML)のソリューションです。

https://www.ibm.com/jp-ja/products/spss-modeler SPSS公式ウェブサイト

SPSS Modeler はローコードで予測モデルの作成およびモデルの作成に必要なデータ加工などのプレパレーションを実施できます。今回の記事では、このSPSS Modeler にPingOne のデータを取り込んでみたいと思います。データの取得ができれば、予測モデルの作成などに自在に活用できます。

連携シナリオ

さて、今回の記事ではSPSS からPingOne に接続していきますが、このときに必要となるのがCData ODBC ドライバです。

SPSS にはODBC を経由して他サービスに接続する機能が標準提供されています。この機能とCData が提供しているODBC Drivers ラインナップを組み合わせることで、各種クラウドサービスのAPI やデータベースにシームレスにアクセスすることができるようになります。

SPSSのODBC接続画面

とは言っても、説明だけではイメージできない部分もあると思うので、実際に連携を試してみましょう。

CData PingOne ODBC Driver のインストール

最初にCData PingOne ODBC Driver を対象のマシンにインストールします。

以下のページから30日間のトライアルがダウンロードできます。

PingOne ドライバーページ

インストーラーを入手後、対象のマシンでセットアップを進めていきます。

ODBCインストーラー画面

セットアップが完了すると接続設定画面が表示されるので、PingOne への認証に必要な情報を入力します。

PingOne に接続するには以下のプロパティを設定します。

  • Region:自身のPingOne 組織のデータがホスティングされている地域。
  • AuthScheme:PingOne に接続する際に使用する認証の種類。
  • WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。

WorkerAppEnvironmentId の設定

WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。

はじめに、このプロパティの値を見つけます。

  1. 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
  2. OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
  3. 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
  4. リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
  5. Environment ID フィールドの値をコピーします。 以下の例に似たものになるはずです:
    WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

次に、WorkerAppEnvironmentIdEnvironment ID フィールドの値に設定します。

AuthorizationServerURL の設定

AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。

OAuth でのPingOne への認証

PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。

  • ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
  • ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
  • 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。

OAuth(認可コードグラント)

AuthSchemeOAuth に設定します。

デスクトップアプリケーション

OAuth アクセストークンの取得およびリフレッシュ

以下を設定して、接続してください。

  • InitiateOAuthGETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
  • OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
  • OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
  • CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333

接続すると、本製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。

  1. ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
  2. OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。

ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。

Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。

あとは「接続のテスト」ボタンをクリックし、接続が成功したら、「接続ウィザード」の「OK」ボタンをクリックして保存します。

接続完了後、メタデータタブから利用できるテーブル・ビューの情報を確認できます。

ここで予めPingOne のどのオブジェクト、項目を利用するか確認しておくと良いでしょう。

PingOneデータのメタデータ確認画面

SPSS Modeler を立ち上げて新規ストリームを作成

それではSPSS Modeler を使ってPingOne のデータを取り込んでみましょう。

Windows のスタートメニューから「IBM SPSS Modeler Subscription」を立ち上げて、新しいストリームを作成します。

新規ストリーム画面

データベース入力を追加

まず「入力」タブにある「データベース」をストリーム上に配置します。

データベースをストリームに配置

配置したアイコンをダブルクリックするとデータベースの接続設定画面が出てくるので、「データソース」から「新規データベース接続の追加」をクリックします。

新規データベース接続の追加

すると以下のようにODBC DSNの一覧が表示されるので、先程構成したPingOne のDSNを選択して、「接続」をクリックしましょう。

ユーザー名・パスワードなどの認証情報は事前に入力してあるので、空白のままで構いません。これでPingOne への接続を確立できます。

DSNの選択と接続画面

接続を追加したら、どんなデータを取り込むのか、テーブルまたはSQLクエリーで設定します。

とりあえず手軽に取り込めるテーブル名での指定を行ってみます。「データの選択」をクリックします。

PingOneデータの取得

表示されたテーブル・ビューの一覧から取り込みたい対象のテーブルを選択しましょう。

フィルタリング・データ型の設定・データの取得

あとはフィルター条件として、どの項目を取り込むかどうかという設定や、

フィルタリング画面

モデル作成の際に利用するデータ型やロールを設定すれば、データ取得の準備はOKです。

データ型やロールを指定する画面

データのプレビューを確認すると、以下のようにPingOne のデータを確認できました。

データのプレビュー

せっかくなので、「データ検査」を実行してデータの傾向も確認してみましょう。

データ検査ボタンを選択

以下のように各項目のデータの最小・最大・平均、有効な値かどうかなどが確認できます。

データの集計値を確認

このように、とてもシンプルな手順でPingOne のデータをSPSS Modeler に取り込むことができました。

これで、予測モデル作成などより複雑なタスクにPingOne のデータを簡単に活用できます。

おわりに

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、RDB、NoSQL データをSPSS Modeler からコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。