DBアワー出張編 Lv2の問題を解いてみる会 2023/9/21
概要録画データ過去問Lv2データソースとschemaデータソースschema色々event_logs投稿のタップ数を見てみようプロフィール画面のPV数を見てみようtimezone最新の投稿を見てみる日本の時刻(JST)で作成日を指定した投稿を見てみる最新のイベントを見てみるパラメータ機能ユーザーのプロフィールを見る(ID指定)商品の投稿を内容を見る(商品ID指定)Q5
概要
今日は最終回。解説 & Lv2の過去問を解きます
- timezone
- event_logs
- パラメータ機能
- その他(data source、visualization等について深掘り?)
録画データ
過去問
Lv2
データソースとschema
データソース
- mysql
- アプリケーションで使用するメインのデータが入っている
- いわゆるデータベースのひとつ
- redshift
- データ分析に必要なものがいろいろはいっている
- ログ系
- event_logs
- access_logs
- mysqlのコピー
- 最新ではない
- 削除済みデータもある
- schema経由で見られる色々(後述)
- いわゆるデータウェアハウス(DWH、データの倉庫)のひとつ
→ 基本的に か で事足りる
場合によっては を使う
試験では指定されている を使う。中身は と同じ
schema色々
- これはデフォルトのやつで、実は勝手についている。普段は気にしない
- ,
- redshift_with_mysql で mysqlを見たいときに使う
- テスト用のデータソースでも見える
- DBTは集計したりログを残してくれるクン
- SaaSやEC関連のデータが結構入っている
event_logs
- timestamp
- 時刻。絞ると早いのでまず絞る
- name
- イベント名。使わないことはほぼ無い
- user_id
- イベントを発生させたユーザーのID
- 0なこともある(ユーザーが判別できないなど)
- resource_id
- ID
- additional_info
- 画面情報など
例
- event_logsとevent_v2_logsの違い
- event_v2_logs を使うべき
- Androidの数字を含んでいる
- 早い(かも)
投稿のタップ数を見てみよう
- 9月1日に発生した投稿のタップ数合計
- 9月1日に発生した投稿のタップ数、投稿別に、多い順で100件
- 投稿IDとタップ数、投稿のcontentを並べる
- 9月1日に投稿を最もタップしたユーザー10人
プロフィール画面のPV数を見てみよう
timezone
- mysql
- UTCになっているので変換が必要
- event_logs系(evnt_logs, event_v2_logs, access_logsあたり)
- JSTなのでそのままで良い
特に組み合わせるときに注意
最新の投稿を見てみる
日本の時刻(JST)で作成日を指定した投稿を見てみる
最新のイベントを見てみる
パラメータ機能
ユーザーのプロフィールを見る(ID指定)
商品の投稿を内容を見る(商品ID指定)
例えば:546003(= product_id)
post_products, posts
Q5
PVが多いのに商品が紐付いていない投稿があったとき、もし紐付けるべき適切な商品があるなら紐付けたい。 そのため、商品が紐づいていない投稿を直近30日間の閲覧数の多い順に知りたい。 投稿IDと閲覧数がわかるようにし、PVが多い順に上位100件まで表示させる。また、投稿IDから投稿ページへ飛べるようにする。
- 商品が紐づいていない投稿
- 直近30日間
- 閲覧数の多い順