Redashでよく使う便利機能と気をつけないといけないこと
最近はRedashを使って、データを可視化することが多いので、その知見を紹介します。
Redashでよく使う便利機能と気をつけないといけないことについてです。
なお、Redashのバージョンは9.0.0-betaを使用しています。
よく使う便利機能
クエリパラメータ
クエリにパラメータを渡せる機能です。
クエリ上で、{{}}
で囲んだ部分をパラメータとして利用することができます。
画面上でパラメータの値を指定できます。
テキストや数値、リスト形式などの各種パラメータ形式を設定することができます。
下図のように日付の期間を指定しやすいUIもあったりします。
クエリフィルターとテーブル表示の検索機能
クエリの検索結果にフィルターや検索を行える機能です。
フィルター機能はクエリ上に<columnName>::multi-filter
のように別名をつけることで利用できます。
カテゴリ値を持つカラムに設定すると、該当カテゴリでフィルターできるので便利です。
また、テーブル形式の結果を編集する画面で、Use for search
という項目にチェックをつけると、該当のカラムに検索機能を付与することもできます。
検索文字列に一致するデータだけが表示されます。
ピボットテーブル
データの可視化の種類で、ピボットテーブルを使用することができます。
雑なクエリで、時系列ごとの各カテゴリ値のデータ数が簡単に可視化できたりするので、便利です。
使い方も表示にシンプルで、利用したいカラム値をドラッグ&ドロップして指定したり、値の内容をプルダウンから選択するだけです。
気をつけないといけないこと
スケジュール実行機能
Redashには、クエリのスケジュール実行機能があるのですが、使い方には注意が必要だと思います。
自分の環境では、AWS上にRedashを構築していて、RedashのデータソースにAthenaを使って、データ基盤のUIとしてユーザに提供する運用をしていたりします。
Athenaの場合、クエリ実行ごとに課金されるタイプのサービスになっているので、スケジュール実行機能との相性は最悪です。
Redashにおいて、クエリ作成者に対して、このスケジュール実行機能を使用不可にするための機能はありません。
そのため、できるだけクエリ作成者にスケジュール実行機能を使わないように周知したり、運用者側で無駄なスケジュール実行がなされていないかを定期的にチェックする必要があります。
雑なクエリがスケジュール実行されてしまっていて、データソースに対してパフォーマンスを悪化させるといったことも考えられます。
スケジュール実行機能はなるべく使わないようにしたほうが良いと思います。
デフォルトグループ
Redashを構築すると、初期設定としてデフォルトグループというRedashのユーザが参加するグループが作られます。
Redashに新規にユーザを追加すると、デフォルトグループに自動的に参加します。
自動的に参加するという性質上、基本的には、このデフォルトグループのアクセス権限は最小のものにし、必要に応じて、ユーザごとにデータソースへのアクセス権限を付与する運用にしたいと考えます。
しかし、Redashにおいては、データソースを新規作成した場合には、デフォルトグループにそのデータソースのアクセス権限がフルアクセスという形で追加されてしまいます。
そのため、デフォルトグループの権限に関しては定期的にチェックする必要があります。
Redashにそこまで厳密なアクセス権限を求めてはいけないということかもしれません。
まとめ
RedashはOSSなので気軽に使えつつ、データソースをいい感じに可視化してくれるので、とても便利で助かっています。
使うにあたっては今回紹介した気をつけないといけないこともあるので、ご注意ください。