2017.05.23

Treasure DataとWave Analyticsを連携してみる

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

SkyOnDemandを使ってTreasure Dataからのエクスポートが容易にできるようになりました。こちらのニュースに詳細が書かれています。今回はTreasure Dataのデータをエクスポートして、Salesforce Wave Analyticsにインポートしてみたいと思います。

ちなみに、Treasure Dataはデータのエクスポート先としてSalesforceのオブジェクトはサポートしていますが、Wave Analyticsには対応していません。なので、表題の件を実現するためには、プログラムを書くか、何らかのツールが必要となります。ツールとしてSkyOnDemandを利用すると簡単にこれが実現できます。

Treasure Data側について

Treasure Dataにはサンプルとしてsample_datasetsというデータセットが定義されており、その中にwww_accessというApacheログのテーブルが用意されています。今回はこのテーブルからデータを取り出してみたいとおもいます。



データを取り出すクエリサービスとしては、Hive、Pig、Prestoに対応していますが、無償版ではPrestoは使えないようです。今回はHiveを使います。


SkyOnDemand側について

SkyOnDemandからTreasure Dataにアクセスする機能は、オプションとなっていますので、サポートに連絡して有効化してもらいます。このオプションの利用料金はかかりません。

有効化してもらったら、まずはTreasure Dataに接続するための情報をグローバルリソースに設定します。
コントロールパネル > グローバルリソースの設定
から「新規グローバルリソース作成」を選択し、
データベース > JDBC接続設定を選択して次のように入力します。

設定項目 設定値
接続名 ※任意(ここでは「Treasure Data Trial」と設定)
ドライバクラス名 com.treasuredata.jdbc.TreasureDataDriver
URL jdbc:td://api.treasuredata.com/sample_datasets;type=hive;useSSL=true
ユーザ名 ※Treasure Dataにログインする時のEMAIL
パスワード ※Treasure Dataにログインする時のパスワード


[接続テスト]ボタンを押して、「接続に成功しました。」と表示されることを確認します。

次にスクリプトを作成します。流れとしては、
1. Treasure DataからHiveQLでデータ取り出し
2. CSVに一旦書き出し
3. WaveにCSVをアップロードしてデータセットとして登録
になります。

1.はツールパレットから、
データベース > JDBC > 検索系SQL実行
を選択し、「SQL文」のところにHiveQLを記述します。ここではiPhoneからのアクセスが多い順にページを抽出します。

Treasure Dataからのデータ取り出しはこのようにアイコン1つで実現できます。

2.はツールパレットから、
ファイル > CSV > CSVファイル書き込み
を選択し、「ファイル」のところに出力先のパスを設定します。

ここまでの処理は2つのアイコンでできるのでこんな感じです。

実行するとこんな感じのCSVが生成されます。


3.については、「Salesforce Wave Analytics につないでみた」と同じ手順になるのここでは割愛します。CSVをWaveにアップロードするスクリプトをこの手順で作成すればOKです。

SkyOnDemandを使って、Treasure DataやWave Analyticsを最大限活用しましょう!

1 件

関連する記事