Treasure DataをDesktopに接続
接続手順 – 認証
- こちらからPrestoのドライバー(Simba Presto 1.1.pkg)をDL
- Desktopの[データソース]から[Presto]を選択
- 必要な項目を入力(表参照)
- 完了
項目 | 入力内容 |
サーバー | 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でクエリを書く際には以下の点に注意してください。
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
↓私が実務でよく利用する関数を簡単にまとめた記事です。参考にどうぞ。