各製品の資料を入手。
詳細はこちら →IBM SPSS Modeler にDB2 のデータをシームレスに読み込む方法
IBM SPSS Modeler とCData ODBC ドライバを使ってDB2 のデータを取り込む方法をご紹介します。
最終更新日:2023-10-01
この記事で実現できるDB2 連携のシナリオ
こんにちは!リードエンジニアの杉本です。
本記事では、データサイエンティスト向けのツールとして有名なIBM SPSS Modeler でCData Driver を利用し、各種クラウドサービスのデータを取り込み、予測モデル作成につなげる方法を紹介したいと思います。
IBM SPSS Modeler とは?
IBMが提供するビジュアル・データサイエンスと機械学習(ML)のソリューションです。
https://www.ibm.com/jp-ja/products/spss-modeler
SPSS Modeler はローコードで予測モデルの作成およびモデルの作成に必要なデータ加工などのプレパレーションを実施できます。今回の記事では、このSPSS Modeler にDB2 のデータを取り込んでみたいと思います。データの取得ができれば、予測モデルの作成などに自在に活用できます。
連携シナリオ
さて、今回の記事ではSPSS からDB2 に接続していきますが、このときに必要となるのがCData ODBC ドライバです。
SPSS にはODBC を経由して他サービスに接続する機能が標準提供されています。この機能とCData が提供しているODBC Drivers ラインナップを組み合わせることで、各種クラウドサービスのAPI やデータベースにシームレスにアクセスすることができるようになります。

とは言っても、説明だけではイメージできない部分もあると思うので、実際に連携を試してみましょう。
CData DB2 ODBC Driver のインストール
最初にCData DB2 ODBC Driver を対象のマシンにインストールします。
以下のページから30日間のトライアルがダウンロードできます。
DB2 ドライバーページインストーラーを入手後、対象のマシンでセットアップを進めていきます。

セットアップが完了すると接続設定画面が表示されるので、DB2 への認証に必要な情報を入力します。
DB2 に接続するには以下のプロパティを設定します。
- Server: DB2 を実行するサーバー名。
- Port: DB2 サーバーのポート。
- Database: DB2 データベース名。
接続の準備ができたら、認証スキームを選択し、以下で説明するように適切なプロパティを設定します。
本製品 は、DB2 への認証に4つの異なるスキームをサポートします。DB2 ユーザー資格情報(デフォルト)、暗号化されたユーザー資格情報、IBM Identity and Access Management(IAM)認証、および Kerberos です。
DB2 ユーザー資格情報
ユーザー資格情報を使用して認証するには、次のプロパティを設定します。- AuthScheme:USRIDPWD。
- User:データベースへのアクセス権を持つユーザーのユーザー名。
- Password:データベースへのアクセス権を持つユーザーのパスワード。
暗号化されたユーザー資格情報
サーバーがセキュア認証に対応しており、暗号化されたユーザー資格情報を使用して認証を行いたい場合は、このプロパティを設定します。- AuthScheme:EUSRIDPWD
IAM、Kerberos で認証したい場合は、ヘルプドキュメントの「はじめに」セクションを参照してください。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: DB2 のユーザ
- Password: DB2 のパスワード
- Database: DB2 の接続先データベース
- Server: DB2 のサーバー
- Port: DB2 のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=testUseSSH=true;SSHAuthMode=Password;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: DB2 のユーザ
- Password: DB2 のパスワード
- Database: DB2 の接続先データベース
- Server: DB2 のサーバー
- Port: DB2 のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;UseSSH=true;SSHAuthMode=Public_Key;SSHClientCertType=PUBLIC_KEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
あとは「接続のテスト」ボタンをクリックし、接続が成功したら、「接続ウィザード」の「OK」ボタンをクリックして保存します。
接続完了後、メタデータタブから利用できるテーブル・ビューの情報を確認できます。
ここで予めDB2 のどのオブジェクト、項目を利用するか確認しておくと良いでしょう。

SPSS Modeler を立ち上げて新規ストリームを作成
それではSPSS Modeler を使ってDB2 のデータを取り込んでみましょう。
Windows のスタートメニューから「IBM SPSS Modeler Subscription」を立ち上げて、新しいストリームを作成します。

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

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

すると以下のようにODBC DSNの一覧が表示されるので、先程構成したDB2 のDSNを選択して、「接続」をクリックしましょう。
ユーザー名・パスワードなどの認証情報は事前に入力してあるので、空白のままで構いません。これでDB2 への接続を確立できます。

接続を追加したら、どんなデータを取り込むのか、テーブルまたはSQLクエリーで設定します。
とりあえず手軽に取り込めるテーブル名での指定を行ってみます。「データの選択」をクリックします。

表示されたテーブル・ビューの一覧から取り込みたい対象のテーブルを選択しましょう。
フィルタリング・データ型の設定・データの取得
あとはフィルター条件として、どの項目を取り込むかどうかという設定や、

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

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

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

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

このように、とてもシンプルな手順でDB2 のデータをSPSS Modeler に取り込むことができました。
これで、予測モデル作成などより複雑なタスクにDB2 のデータを簡単に活用できます。
おわりに
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、RDB、NoSQL データをSPSS Modeler からコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。