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

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

セットアップが完了すると接続設定画面が表示されるので、Amazon S3 への認証に必要な情報を入力します。
Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。
Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。
尚、CData 製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel Driver、CSV Driver、JSON Driver をご利用ください。
アクセスキーの取得
IAM ユーザーの資格情報を取得するには:
- IAM コンソールにサインインします。
- ナビゲーションペインで「ユーザー」を選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択します。
AWS ルートアカウントの資格情報を取得するには:
- ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択します。
- 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。
AWS ロールとして認証
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。
(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。
SSO 認証
SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。
あとは「接続のテスト」ボタンをクリックし、接続が成功したら、「接続ウィザード」の「OK」ボタンをクリックして保存します。
接続完了後、メタデータタブから利用できるテーブル・ビューの情報を確認できます。
ここで予めAmazon S3 のどのオブジェクト、項目を利用するか確認しておくと良いでしょう。

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

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

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

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

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

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

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

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

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

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

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