前回redashのMEETUPに参加ならびに登壇させていただき、非常に多くの学びがあった
第三回の勉強会を開催するという話しを聞き、さっそく参加させてもらった
前回は勉強会での情報の多さ、濃さを受け、今回はレポートとして残そうと思い、自分の関心のある視点をベースにまとめる事にした
Redash の API 活用事例 / 井上 竜輝氏
APIでできること
- クエリの実行や結果の取得
- グループやユーザ操作
- アラート情報の取得
- その他
API活用
各クエリの名前、内容、作成者を一括でJSON形式で取得可能
クエリ結果も取得可能JSON/CSV形式で取得可能
API認証や仕様はサンプルは少ないが、スプレッドシートやSlackBotへの投稿も触れている
redash/handlers/api.py を見るのが情報が多い
redash単体では、パラメータを変えた複数のクエリを取るのが苦手
ココラブル社では一括で取得し、Pythonで加工してExcelやSlackに送るようにして対応している
いつどのように変更したのか知りたい
redashのクエリをAPIで取得
取得したクエリ内容をファイルに書き出しGitで管理
redashmanというライブラリを使っている
みんなが Redash を気持ちよく使うやり方を考える / @o0h_氏
導入期
セットアップ。権限設定
サービスイン。ハンズオンをおこなった
アフターケアで、なんでも質問できるチャンネルをSlackに作った
redash導入後どうなったか
以下の問題が発生
SQLかける人に限られる
クエリ乱立問題。「こんなクエリないかな?」と思うたび活用されず、都度作ってしまう
どこにどのデータがあるのか知られていない
どのように解消をしたか
何人か集めて勉強会を開催
クエリをかける満足感を共有
複雑なクエリはできる人がサポート
Slackに相談できるチャンネルを作った
クエリ乱立問題においては、命名規則の設定
組織体に合致する形でクエリ・ダッシュボードにprefixを指定した
大カテゴリ・・・サービスや部署くらいの粒度
中カテゴリ・・・部署以下の領域=グループくらいの粒度
そもそもなぜredash?
- データに自由にアクセスできる
- 自分でデータをひきだせる
理想の状態
高度なクエリも助けを借りながら実行できる状態
必要なデータは「誰かが書いている」状態
データからアイディアを得られる状態
Hidden gems in Redash / @ariarijp 氏
Qeury Results Data Ource
今後はクエリ付きのデータが実行できるようになるか、redashフォーラムで検討されている
Python Data Source
Pythonのスクリプトをデータソースとして使える
URL Data Source
HTTPのエンドポイントをデータソースとして使える
HTTPのgetしか対応していない
Script Data Source
スクリプトをデータソースとして使える。標準出力にJSONを出力できれば、データソースとして使える。
Extending Redash
query runnerを自分で実装することができる。
https://qiita.com/advent-calendar/2017/redash
redashの中でどのようにクエリが実行されるか知っている必要がある
事業成長に伴う Redash の使い方の変化(仮) / 大久保 晋之介 氏
導入背景
フルスクラッチのタイミングで、管理画面の代わりを探していた
売り上げやDAUなどのサービスを確認していた
使い方
クエリ増殖期
オーソドックスな使い方。グラフ、ダッシュボード。クエリの保存。APIを使ってSlackへ
クエリに命名ルールを決めて解決した。BIチームのLGTMがあれば「公式マーク」をつけるなど
命名ルールの運用はしばらくは運用に乗ったが途中で廃れた
厳密に運用するならメタデータを使い自動的に命名をチェックする仕組みを併用した方が良い
公式・非公式を分けるだけなら Publish/Unpublish を使うだけでよかった
人によってグラフで使う色が違い、混乱を招いた。
配色ルールを決めた。男性のデータは青。女性のデータは赤。
BigQuery課金額が上昇した。クエリ実行時のルールを決めた。”select *”禁止など。
守るメリットが大きいルールほど、守られやすい
API多用期
VisualizeはGoogle スプレッドシートへ
グラフをコピーしずらい。トレンドラインが見えにくい。スプレッドシートで関数を使いたかった
定期実行クエリを多用。定期実行したクエリの実行結果をAPIで取得して対応する分析が増加
クエリが重い
メタデータを使い、実行に時間がかかっているクエリをリストアップ
クエリのチューニングさせる。
遅いクエリをタイムアウトさせる。REDASH_ADHOC_QUERY_TIME_LIMITの設定
原因
クエリの同時実行数に対し、キューの数が少ないのが問題。
supervisord.confでの設定でキューの数を増やす
クエリの定期実行時間が重ならないようにならす
後回しでいいクエリはキャンセル
サーバの性能アップ
クエリがキューに詰まる件については特効薬はない。
Tableau併用期
分析ニーズ多様化のため、RedashとTableauを併用
redashではさばきにくいデータをTableauにまわしている。
redash … Tableauにない機能を
Tableau … 主要KPIを様々なデータ。深堀り分析
以上。非常に濃厚で、学びのある会でした。
企画していただいた @Arita さんありがとうございました!