Yahoo! JAPAN のビッグデータとCData Drivers とDataSpider とSQL Server をつなげてみた

CData Yahoo! JAPAN DATA SOLUTION JDBC Driver を使ってみよう！ということで、
Yahoo! JAPAN のビッグデータをCData のコネクタとDataSpider を使って、SQL Server に格納していきます。

※ヤフー・データソリューションは、統計化されたビッグデータを活用しており、個人を識別できるデータ (パーソナルデータ) ではありません。

#用意するもの
**Yahoo! JAPAN DATA SOLUTION　DS.API - INSIGHT**
　ヤフーの検索データを取得・分析できるAPI
　https://ds.yahoo.co.jp/service/api/
**CData Yahoo! JAPAN DATA SOLUTION JDBC Driver**
　https://www.cdata.com/jp/drivers/yahoods/
**DataSpider**
　EAI ツール
　https://www.hulft.com/software/dataspider
**SQL Server**
　オンプレに以下テーブルを用意しておきます。

|  | 名前 | 型 |
|:-----------|------------|------------|
| テーブル | SearchData  |     |
| 列1 | Date  |  varchar   |
| 列2 | Volume |  int  |
| 列3 | SearchKeyword |  varchar   |

#準備
##CData Drivers インストール
トライアルがあるのでダウンロードののち、インストールします。
https://www.cdata.com/jp/drivers/yahoods/download/jdbc/

##ファイル配置
DataSpider のインストールフォルダにファイルを配置します。

**配置先：**
DataSpiderServista インストールフォルダ\server\plugin\data_processing\modules\jdbc_adapter
**配置ファイル：**
cdata.jdbc.yahoods.jar
cdata.jdbc.yahoods.lic

#連携処理開発
DataSpider を使って、連携処理を作っていきます。
完成イメージはこちら。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/50719201-21e6-3703-d8bd-ea1001ce3e0b.png)

##接続設定
グローバルリソース（接続情報）の設定をします。
取得したいキーワードをURL で指定するので、キーワードごとに接続設定を作成します。

接続名：任意
ドライバクラス名：cdata.jdbc.yahoods.YahooDSDriver
URL：jdbc:yahoods:AppID=[アプリID];SearchKeyword=[検索キーワード];
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/5986f234-86fd-3d79-2737-8ba8420f7655.png)
最後に接続テストボタンで、接続を確認してみましょう。

##連携処理開発
プロジェクトとスクリプトを作成します。
###Yahoo! JAPAN ビッグデータ取得
JDBC アイコンを使って、検索データを取得します。
右側ツールパレット> データベース > JDBC > テーブル読み取り アイコンを中央画面にドラッグアンドドロップで配置。
テーブル読み取り処理のプロパティで必要項目を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/32927180-fe8f-e864-e253-2efd2ce8405e.png)
今回はSearchVolume を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/3e8cfcbd-92e5-c5cd-d44d-b8bebe8b627d.png)
抽出テストができるので、確認しておきます。
確認できたら完了を押下し、アイコンを作成します。

###DB 書き込み
SQL Server に書き込む処理を作成します。
右側ツールパレット > データベース > SQL Server >テーブル書き込み アイコンを中央画面にドラッグアンドドロップで配置。
画面に沿って設定します。
入力データは先ほど作成した取得のアイコンを指定します。
SeachData テーブルを用意してあるので、指定していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/b03efcf4-af3b-92f6-2df3-5a4d2d2ecfd2.png)

テーブルブラウザからデータベースの中身を見ることができます。
今は空っぽ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/9391bc1b-cf4f-237e-1234-9d1d99884130.png)

完了ボタンを押下すると、マッピング追加の確認画面が出てくるので、アイコンを追加していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/1f09c320-0154-9a4c-224d-6a9efa14ef7e.png)

###マッピング
真ん中にアイコンが追加されたので、ダブルクリックで開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/9da6c517-7a2f-59a9-2a4d-63be37a9ed5e.png)

マッピング画面がこちら。
出力先やデータの加工ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/55d06f09-4f63-af0b-695f-b4e6eb2a8105.png)

今回はこのまま出力していきます。

関連キーワードを扱いやすい形に直して出力したり（「キーワード＋○○」の○○だけを出力とか）、データをすぐに使える状態にしてデータベースに格納したりできます。

###処理完成
全ての処理ができたので、実行していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/4d7dcbd2-758a-00b8-605a-1ebb17474b22.png)

無事にデータ取得が終わりました。
テーブルの中身を見てみるとデータが入っていることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/abea5792-fba4-fdba-68e2-3f0f8cf66b4c.png)

#まとめ
Yahoo! JAPAN DATA SOLUTION JDBC Driver を利用することで、DataSpider を経由してデータを扱うことができるようになりました！
DataSpider も多くのアダプタを持っているため、データを好きなシステム・アプリケーションに連携できます。アダプタがない場合でも、CData のコネクタと組み合わせることでデータ連携を可能にします。また、DataSpider ではデータの加工・整形、データのマージもできるためたくさんのシステム・アプリケーションのデータとYahoo! のビッグデータを合わせて活用できます。

ぜひお試しください！