Dataiku からリアルタイム PingOne データを使って AI/ML モデルを構築
Dataiku は、データの準備、分析、可視化、AI/ML モデルのデプロイメントに利用されるデータサイエンスおよび機械学習プラットフォームです。チームでの協業と効率的なデータドリブンな意思決定を可能にします。CData JDBC Driver for PingOne と組み合わせることで、Dataiku は PingOne のデータ のデータ連携、データ準備、リアルタイム分析、そして信頼性の高いモデルデプロイメントをさらに強化します。
CData JDBC Driver は、最適化されたデータ処理機能を内蔵しており、リアルタイム PingOne のデータ とのやり取りにおいて比類のないパフォーマンスを発揮します。複雑な SQL クエリを PingOne に発行すると、ドライバーはフィルタや集計などのサポートされている SQL 操作を PingOne に直接プッシュし、サポートされていない操作(多くの場合、SQL 関数や JOIN 操作)は内蔵の SQL エンジンを使用してクライアント側で処理します。動的メタデータクエリ機能が組み込まれているため、ネイティブのデータ型を使って PingOne のデータ を操作・分析できます。
この記事では、Dataiku DSS(Data Science Studio)プラットフォームで CData JDBC Driver for PingOne を使って PingOne に簡単に連携する方法を紹介します。データの準備やカスタム AI/ML モデルの構築を行いましょう。
Dataiku DSS 環境の準備
このセクションでは、先に紹介した Dataiku を PingOne のデータ 向けにセットアップする方法を説明します。事前に、お使いのオペレーティングシステムに対応した Dataiku DSS(オンプレミス版)をインストールしておいてください。
CData JDBC Driver for PingOne のインストール
まず、Dataiku と同じマシンに CData JDBC Driver for PingOne をインストールします。JDBC Driver は以下のパスにインストールされます:
C:\Program Files\CData[product_name] 20xx\lib\cdata.jdbc.pingone.jar
Dataiku DSS での JDBC Driver 接続設定
Dataiku で CData JDBC Driver を使用するには、新しい SQL データベース接続を作成し、DSS の接続設定で JDBC Driver の JAR ファイルを追加する必要があります。
- Dataiku DSS プラットフォームにログインします。ブラウザでローカルに開きます(例:localhost:11200)。
- プラットフォームの右上にある Navigate to other sections of Dataiku メニューをクリックし、Administration を選択します。
- Connections タブを選択します。
- Connections 画面で New Connections ボタンをクリックします。
- スクロールして Other SQL databases を選択します。
PingOne に接続するための JDBC URL を生成します。jdbc:pingone: で始まり、その後にセミコロン区切りの接続文字列プロパティを続けます。
PingOne に接続するには以下のプロパティを設定します。
- Region:自身のPingOne 組織のデータがホスティングされている地域。
- AuthScheme:PingOne に接続する際に使用する認証の種類。
- WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。
WorkerAppEnvironmentId の設定
WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。
はじめに、このプロパティの値を見つけます。
- 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
- OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
- 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
- リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
-
Environment ID フィールドの値をコピーします。
以下の例に似たものになるはずです:
WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'
次に、WorkerAppEnvironmentId をEnvironment ID フィールドの値に設定します。
AuthorizationServerURL の設定
AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。
OAuth でのPingOne への認証
PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。
- ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
- ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
- 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。
OAuth(認可コードグラント)
AuthScheme をOAuth に設定します。
デスクトップアプリケーション
OAuth アクセストークンの取得およびリフレッシュ
以下を設定して、接続してください。
- InitiateOAuth:GETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
- OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
- OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
- CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333
接続すると、CData 製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。
- ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
- OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。
ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。
Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。
組み込みの接続文字列デザイナー
JDBC URL の作成には、PingOne JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから実行してください。
java -jar cdata.jdbc.pingone.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
一般的な JDBC URL は次のようになります:
jdbc:pingone:AuthScheme=OAuth;WorkerAppEnvironmentId=eebc33a8-xxxx-4f3a-yyyy-d3e5262fd49e;Region=NA;OAuthClientId=client_id;OAuthClientSecret=client_secret;
- New SQL database (JDBC) connection 画面で、New connection name フィールドに名前を入力し、基本パラメータを指定します:
- JDBC Driver Class:cdata.jdbc.pingone.PingOneDriver
- JDBC URL:前のステップで取得した JDBC 接続 URL
- Driver jars directory:システム上で JAR ファイルがインストールされているフォルダパス
次に、SQL dialect を選択します。ここでは「SQL Server」を選択しています。Create をクリックします。接続が成功すると、「Connection OK」というメッセージが表示されます。
- Data Catalog ウィンドウが表示されます。Connection to browse、Restrict to catalog、Restrict to schema ドロップダウンから目的の接続、カタログ、スキーマを選択し、List Tables をクリックします。Dataiku プラットフォームに必要なテーブルがすべて一覧表示されます。
- 一覧からテーブルを選択し、Preview をクリックしてテーブルデータを表示します。Close をクリックしてウィンドウを閉じます。
新しいプロジェクトの作成
Dataiku DSS プラットフォームでデータフローの準備、ダッシュボードの作成、PingOne のデータ の分析、AI/ML モデルの構築を行うには、まず新しいプロジェクトを作成する必要があります。
- Navigate to other sections of Dataiku メニューから Projects を選択します。
- Projects 画面で New Project をクリックし、+ Blank Project を選択します。
- New Project ウィンドウで、Name と Project Key を入力します。Create をクリックすると、新しいプロジェクトのダッシュボードが開きます。
- プロジェクト画面上部のメニューから Notebooks を選択します。
- + Create Your First Notebook ドロップダウンメニューをクリックし、Write your own オプションを選択します。
- New Notebook ウィンドウで SQL を選択します。
- Connection ドロップダウンから必要な接続を選択し、Notebook Name フィールドに名前を入力します。
接続のテスト
PingOne 接続をテストして PingOne のデータ を分析するには、クエリコンパイラでクエリを記述し、Run をクリックします。クエリ結果やフィルタリングされた PingOne のデータ の結果が画面に表示されます。
おわりに
CData JDBC Driver for PingOne の 30日間無償トライアル をダウンロードして、Dataiku と連携し、PingOne のデータ からカスタム AI/ML モデルを簡単に構築しましょう。
ご質問があれば、お気軽に サポートチーム までお問い合わせください。