前にいた会社ではデータの可視化にTableauを使ってましたが、すごい良いツールだけに値段も高く、出来たてのスタートアップにはキツイ価格帯。。。
そこで、他のBIツールを探してみるとRe:dashが勢いがあるので使ってみました!!
データの可視化(=visualization)の必要性
そもそもなぜデータを可視化するのか?
前職では広告プロダクトのパフォーマンス向上のために仕事の大半をデータ分析&施策立案に費やしてきたのですが、データを分析すればするほど運用者には知見がたまり、センスが磨かれていく。しかし、ともすると施策の決定者やプロダクトの責任者クラスとの共通認識にギャップができてしまう。
つまり、正しく理解させるためのコミュニケーションのハードルが上がってしまう。
その原因は
- 数字を読み込み、
- 数字を理解して、
- 決済者が運用者の主張を理解する必要があり、
とてもコストがかかってしまう。
データの可視化(=visualization)することは、そのコストを一気にショートカットする可能性を大いに秘めているのです。
例)割合は可視化したほうがわかりやすい!!
Excelみたいにマトリックスだけだと、video_complete
の比率が大きいことはなんとかわかるくらい。
同じデータも可視化することで、その比率も感覚的に掴みやすくなる。
導入手順
サンプルのテキストファイルとして、日付とアクション項目のあるデータを用意しました。
まずは、S3にログをおく
可視化したいデータをS3上に置きます。
次に、Athenaの設定をする
Step1: Name&Location
…データベース/テーブル/インポート元の設定を行う
指定したS3のフォルダ配下のファイルが全てクエリの対象範囲になる(PARTITIONの設定に有用)
S3パスの最後の「/」は必須なので注意(Table作成時の”Location of Input Data Set”)
Step2: Data format
…用意したデータのフォーマットを指定
今回はtsvでサンプルデータを用意したので’TSV’を選択する
Step3: Columns
最後にRe:dashで可視化する
Redash が Amazon Athena を正式サポートしたので試してみたの通りにやるだけ!
とても簡単でした。
ハマったこと&ハマっていること
[解決済み]Athenaにおけるtimestampのデータ型の指定はstring
ログのタイムスタンプをAthenaでデータ型: timestamp
でテーブルを作ると、Re:dashで上手くvisualが作れない
[解決中]Re:dashでログのタイムスタンプを日付で集計するためにはどんなクエリを書くべきか
Re:dashでどんなクエリを書けば良いのかわからず、下記のクエリで暫定対応。パフォーマンスがよろしくない。。。良い方法あったらどなたかおしえてくださいm(_ _)m
SELECT SUBSTRING(req_timestamp, 1, 10) AS req_timestamp,
action_name,
count(*) AS count
FROM sampledb.sample_log
GROUP BY SUBSTRING(req_timestamp, 1, 10), action_name;
参考にしたサイト
Redash が Amazon Athena を正式サポートしたので試してみた
Amazon Athena + Redash = ♥️