S3上の分析データをLookerで可視化する最速タイムアタックやってみた

# 概要
皆さんはLookerのようなBIツールを利用する際、表示する分析データをどの様に収集していますか？
「サービス利用」「OSS活用」「スクラッチ開発」など様々だと思いますが、今回は**どれだけ速くLookerで可視化出来るか**という点にこだわって検証していきます。
私の考える限り最速のLooker可視化手順をご覧ください。

↓広告・CRMツール・DBなど、S3以外のLooker可視化事例もまとめていますので、宜しければ併せて御覧ください。
https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7

# 構成
データの流れやシステムの構成は以下のとおりです。ETLツールには[trocco(トロッコ)](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=looker_advent_calendar_2020)を、DWHにはBigQueryを利用しました。

```
S3 -> trocco(トロッコ) -> BigQuery -> Looker
```

S3上に置いてあるデータは↓のようなアクセスログで、500万行(350MB)位です。

```
$ head -n 5 access_log.csv
uid     url_path        time
b8a11206-473c-4397-8524-c61c77697b70    /landing_page/1 2020-12-08 21:33:09 +0900
b8a11206-473c-4397-8524-c61c77697b70    /speakers/24    2020-12-08 21:40:09 +0900
b8a11206-473c-4397-8524-c61c77697b70    /displays/45    2020-12-08 21:49:09 +0900
b8a11206-473c-4397-8524-c61c77697b70    /cart   2020-12-08 21:55:09 +0900
```

# タイムアタックの前提

- AWSやGCPのアカウントは事前に作成済みです
- S3へアクセスする際の認証情報とかは予めメモしてあります
- BigQueryへアクセスする際の認証情報は予め登録済みのものを使いまわしています
- Looker上のconnectionは予め作成済みのものを利用しています

# Let's タイムアタック！
タイムアタックの様子をスクリーンショットでお届けしていきます！

## 1. [trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=looker_advent_calendar_2020)でETLパイプライン構築 (1分15秒)
トップ画面から「転送設定を作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/a8106768-3ff1-b654-b0f3-7053fcf37222.png)

転送元・転送先を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/377fd4f9-f7f4-7089-866b-f7f3cfd0ffe9.png)

設定画面に入り、S3の設定をしていきます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/df229bb1-2bbf-d064-baf1-847ec11aee14.png)

続いてBigQueryの設定です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/0aad06b3-89cc-1b36-470c-2d0995565871.png)

入力しなければいけないのはこれだけです！わずか1分15秒でETLパイプラインが構築できました。
「保存して自動データ設定・プレビューへ」を押して次のステップに進みましょう。

## 2. [trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=looker_advent_calendar_2020)で構築したETLパイプラインの動作確認 (35秒)

続いて作成したETLパイプラインが正しく動くかどうか、動作確認していきます。
プレビュー生成画面に遷移したので、しばらく待ちます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/96d4c295-448f-5482-2275-4dd8365a4b5c.png)

約30秒ほどでプレビュー結果が返ってきました。合わせてカラムの定義(カラム名・データ型等)が正しいかも確認します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/43c0ee9e-b7b1-076c-a5b4-d7bdf931cc4e.png)

問題なさそうなので「保存して設定を完了」を押します

## 3. [trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=looker_advent_calendar_2020) ETLパイプラインを実行 (2分52秒)

保存後の画面右上に「実行」ボタンがあるので、これを押します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/59bed887-09b2-7370-ee5d-a07c3f51609f.png)

するとすぐにETLの実行が開始します。しばらく待ちます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/e195fff7-45a8-fae2-818c-d29bc3d36612.png)

ETLジョブの実行が完了しました。約2分46秒かかりました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/48d06d4b-98e4-f7fb-1b40-377e2a8bde16.png)

[trocco(トロッコ)](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=looker_advent_calendar_2020)でのETLはこれでおわりです。おおよそ5分弱でS3の分析データをBigQueryに保存出来た計算になります

## 4. LookerでProject作成 (40秒)
続いてLookerでの作業に移っていきます。

Projectを作成し、先程BigQuery上に転送したデータをLookerから扱えるようにします。Connectionを選択肢、データセット名などを入力するだけです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/e44aa91a-f234-f571-fc27-c66483b12d68.png)

データセット内のテーブルがLookMLとして出力されるので、内容を確認します。特に問題なさそうです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/9af5010d-3a29-1a2d-4c53-ad18434d961c.png)

## 5. Lookerでダッシュボードを作成 (1分40秒)
空のダッシュボードを作り、タイルを追加していきます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/89aa1e09-c357-1618-674d-aaa30430d7b6.png)

先程作成したProjectのExploreを選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/1bd2b712-635f-05ff-879b-4dded2ed9ee2.png)

グラフ作成画面が出てくるので、下の様に操作していきます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/a5750152-5863-f57a-1de3-3f77ff6d7103.png)

すると以下のようなグラフが出てきますので、右上の「保存」を押します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/8cd1fc20-c29b-5346-4966-3b0efd680a82.png)

グラフの1つ目が出来ました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/8d76e75c-54e8-ab80-3b3c-db07c1896991.png)

同じ要領でURL毎のアクセスカウントを集計し、最終的に以下のようなダッシュボードを作成しました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/c9697839-168e-697f-86fd-c7ea578ff5a5.png)

# 結果発表
**7分ジャストでダッシュボードの構築が終わりました＼(^o^)／**

# まとめ
いかがでしたでしょうか？私が考える限り最も速いLookerでの可視化方法のご紹介でした。
データを今すぐに分析しなければならない・・・そんな日々に追われている方、是非[trocco(トロッコ)](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=looker_advent_calendar_2020)を利用してETLパイプラインを構築し、楽にLookerで可視化・分析を行われてはいかがでしょうか。

↓広告・CRMツール・DBなど、S3以外のLooker可視化事例もまとめていますので、宜しければ併せて御覧ください。
https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7

[trocco(トロッコ)](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=looker_advent_calendar_2020)は100種以上の分析データに対応しており、ETL&ワークフローが簡単に作れるサービスです。
無料トライアルを随時行っていますので、Lookerをご利用中の方は、是非ご自身のデータソースでお試し下さい。
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=looker_advent_calendar_2020)