LoginSignup
8

More than 5 years have passed since last update.

S3×Athena×Re:dashでデータ可視化してみた

Last updated at Posted at 2017-03-31

前にいた会社ではデータの可視化にTableauを使ってましたが、すごい良いツールだけに値段も高く、出来たてのスタートアップにはキツイ価格帯。。。
そこで、他のBIツールを探してみるとRe:dashが勢いがあるので使ってみました!!

データの可視化(=visualization)の必要性

そもそもなぜデータを可視化するのか?

前職では広告プロダクトのパフォーマンス向上のために仕事の大半をデータ分析&施策立案に費やしてきたのですが、データを分析すればするほど運用者には知見がたまり、センスが磨かれていく。しかし、ともすると施策の決定者やプロダクトの責任者クラスとの共通認識にギャップができてしまう。

つまり、正しく理解させるためのコミュニケーションのハードルが上がってしまう。
その原因は
1. 数字を読み込み、
2. 数字を理解して、
3. 決済者が運用者の主張を理解する必要があり、
とてもコストがかかってしまう。
データの可視化(=visualization)することは、そのコストを一気にショートカットする可能性を大いに秘めているのです。

例)割合は可視化したほうがわかりやすい!!
Excelみたいにマトリックスだけだと、video_completeの比率が大きいことはなんとかわかるくらい。
Screen Shot 2017-03-31 at 10.59.32.png

同じデータも可視化することで、その比率も感覚的に掴みやすくなる。
Screen Shot 2017-03-31 at 10.59.43.png

導入手順

サンプルのテキストファイルとして、日付とアクション項目のあるデータを用意しました。
Screen Shot 2017-03-31 at 11.21.01.png

まずは、S3にログをおく

可視化したいデータをS3上に置きます。

skitch.png

次に、Athenaの設定をする

Step1: Name&Location

…データベース/テーブル/インポート元の設定を行う
指定したS3のフォルダ配下のファイルが全てクエリの対象範囲になる(PARTITIONの設定に有用)
S3パスの最後の「/」は必須なので注意(Table作成時の”Location of Input Data Set”)
skitch.png

Step2: Data format 

…用意したデータのフォーマットを指定
今回はtsvでサンプルデータを用意したので’TSV’を選択する
step2.png

Step3: Columns

…各カラムのデータ型を左から順に指定していきます
step3.png

最後に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 = ♥️

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8