Treasure Data × Tableau

この記事は約5分で読めます。
sponsored link

Treasure DataをDesktopに接続

接続手順 – 認証

  1. こちらからPrestoのドライバー(Simba Presto 1.1.pkg)をDL
  2. Desktopの[データソース]から[Presto]を選択
  3. 必要な項目を入力(表参照)
  4. 完了
項目 入力内容
サーバー api-presto.treasuredata.com
ポート 443
カタログ td-presto
スキーマ (空のままでOK)
認証 ユーザー名
ユーザー名 *(自分のMasterKey)
SSLが必須 チェック✔︎

※Master Keyの取得方法は下記画像を参照してください。

◆Desktopの[データソース]画面

◆Treasure DataからMaster Keyをコピペする手順

[My Setting] > [My Profile] > [Master Key] > コピペ

接続手順 – Desktopでの読み込み

無事に接続できたら、次はDesktopでスキーマやテーブルを読み込みたいのですが、デフォルトでは空っぽで表示されます。

こちらはスキーマで「小さな虫眼鏡アイコン」をクリックすれば解決するので、安心してください。

あとは該当のスキーマとテーブル(表)を選択し、ビューにドラッグ&ドロップすれば完了です。

接続方法「ライブ vs 抽出」

Treasure Dataは月額固定制なので「ライブ」のまま最新のデータのクエリを発行し続けるのも良いが、現実的なパフォーマンスの観点からいうと「抽出」をお勧めします。

前回の記事では、ライブ接続で最もパフォーマンスを発揮できるとお伝えしましたが、それはBigQueryとTableauの相性が極めて良いからです。(多分..)

Tableau公式のベストプラクティスでは「基本的に抽出の方がライブよりパフォーマンスが高い」と言及しているので、今回のTreasure Dataの場合もそれが該当します。

そして、もし抽出接続を採用するのであれば「データマートの作成」を検討しましょう。

①最新データにアクセスするには「ライブ」
(フィルタの適用, 自動更新OFF)
②ダッシュボード作成/運用では「抽出」
(データ軽量化)
③Treasure Data側で「そもそものデータ量を減らせないか」を検討
(直近2年に絞る, 不要カラムの削除, データマートの用意..etc)

Treasure Dataのクエリ結果をServer/Onlineに出力

出力したいクエリを用意

SELECT COUNT(TD_TIME_FORMAT(time, 'yyyy-MM-dd hh:00:00', 'JST')) AS cnt
FROM test_table
WHERE TD_TIME_RANGE(time,'2021-01-01','2021-01-02','JST') 

※クエリは適当です。

Treasure Dataでクエリを書く際には以下の点に注意してください。

・timeでフィルタ(WHERE句)をかけないと「WARNING: time index filtering is not set on」というエラーが出ます。
・timeはunixtimeで格納されているので、Tableauに取り込む前に文字列型に変えましょう。

Authenticationsの設定

画面右上にあるExport Resultsにチェックを入れ、Tableau用に新たなエクスポート先(Create New Integration)を設定します。

項目 入力内容
Type Tableau Server
Name (任意)
Host(赤字部分) https://***.online.tableau.com/#/site/***/home
Username (Tableau ID: メールアドレス)
Password (Tableau パスワード)
Use SSL? チェック✔︎
Verify server certificate? チェック✔︎
Server version Server / Onlineを指定

Export Resultsの設定

先ほどのAuthenticationの設定が完了したら、そのままExport Resultsの設定に入ります。

項目 入力内容
Datasource Name (任意: 新しいデータソース名)
Site ID(赤字部分) https://***.online.tableau.com/#/site/***/home
Project Name (Onlineのプロジェクト名)
Mode append(追加) / replace(置き換え)
Data Source Type hyper / tde
Extract File Chunk Size(in MB) (50〜512MBの間で指定)
Timezone Japan

設定ができたら右下の完了ボタンを押しましょう。

クエリを実行

Treasure Dataで書いたクエリを実行していきます。

※クエリを実行した段階で「javax.ws.rs.WebApplicationException: HTTP 401 Unauthorized」というエラーが出てしまったら、「Host, Username, Site ID, Project Name」が正しいか、そもそもTableauの権限はあるのか、を確認してください。

無事成功すると、Server/Onlineにデータがパブリッシュされます。

Appendix

↓私が実務でよく利用する関数を簡単にまとめた記事です。参考にどうぞ。

Treasure Dataでよく使う関数9選