by shigemk2

当面は技術的なことしか書かない

Redash

Redashのスケジュールクエリの流れ(v6まで)

Redashのスケジュールクエリの流れ (おそらく)v7以降、曜日 + 時間指定が出来るようになる Closes #2396: Add finer-grained scheduling. by emtwo · Pull Request #2426 · getredash/redash · GitHub 毎日更新は時間指定、それ以外の更新は数値で表現 現在…

Redashのアーキ

Redashのアーキ。 webサーバnginx apサーバgunicorn ジョブキュー処理celery webフレームワークflask メッセンジャーredis DB postgresql Setting up Nginx, Gunicorn, Celery, Redis, Supervisor, and Postgres with Django to run your Python… https://re…

Redash Pythonデータソースで使える関数

Redash Pythonデータソースで使える関数 リンク切れしている。。。 https://redash.io/data-sources/python ソースコードを見たら、いろいろ使えるようだ。 テスト接続 クエリの実行(具体的なクエリ内容が引数) 既存クエリの実行 クエリ実行結果の変換 デー…

memo redash/cli/__init__.py

クエリ実行とかはここでは出来ない。 [https://github.com/getredash/redash/blob/master/redash/cli/init.py:title]

Redash docker構築

わりとなぞるだけ。問題があるとすると、もし別のdockerコンテナのMySQLのDBを参照したいときは、exposeしたほうがよい Docker Based Developer Installation Guide | Redash

Redashクエリ新規作成をcurlで

Redashでクエリを新規作成するところで実行しているAPIとリクエストパラメータを利用してcurlでがんばるようにしてみた。 curl -XPOST 'http://HOSTNAME/api/queries' -H 'content-type: application/json' -H "Authorization: Key APIKEY" -d '{"schedule":…

memo `Error running query: failed communicating with server. Please check your Internet connection and try again.`

こういうもんだいがありました。Athenaのデータ結果にNaNが混ざると Error running query: failed communicating with server. Please check your Internet connection and try again. って怒られるやつ。 どこのコミットで直っているのか分かりづらいけど、…

redash gunicorn worker timeout

redashのAPサーバーにはgunicornが使われており、apiをキックして30秒以上経過するとgunicornがworker timeoutを返す仕組みとなっている(すくなくとも/api/queries/query_id/results.filetypeなリクエストで30秒以上経過するとworker timeoutが返ってくるこ…

Redash api.py

show api keyでダウンロードできるやつは96行目のやつ /api/queries/<query_id>/results.<filetype>。csvかjsonかえらべる /api/queries/<query_id>/results.<filetype> に、クエリパラメータはつけられるっちゃあつけられるけど、いちから再実行するのと変わらない redash/api.py at v5.0.2 · getred</filetype></query_id></filetype></query_id>…

Redashのrefresh.pyのやつ

APIをキックしてRedashのクエリデータをリフレッシュして出力するやつ 以下の順番でAPIが実行されている refresh job results こちらではJSONが出力されるようになっているけど3のresultsでCSV出力も可能 3のresultsAPIではresult idがキーになっており、GET…

redash-dynamic-query

import_classは assert True にしてるからあんまり意味がなくて、test_redash_dynamic_queryのほうは、bindのパラメータをいくつかずらしてクエリが正しく生成されることを確認している $ python -m unittest tests.import_class $ python -m unittest tests…

query results memo

Redash3系 同じquery resultをunion allするとtable already existsと怒られる query results内でwith句を使うとsyntax error

RedashDynamicQuery.query やっていること

クエリ情報を取る L20 1の情報とユーザー側で指定したパラメータを基にクエリを実行する L28 max_wait秒だけ2のクエリ実行を待つ L34 csv/jsonでデータを取得する L38-41 ここで取得できるのは配列データなので、CSVなどのファイルに出力したい場合は別で処…

RedashのX軸 YYYYMM

X軸について、201801みたいな文字列でもCategoryは有効 Datetime visualization with missing weeks - Support - Redash Discourse

memo Redash Query Runner Athena

RedashのPrestoクエリランナーには当然pyathenaを使っているけど、本家のドキュメントがあまり充実していないからなのか、Athenaに対して実行できるクエリを制限する方法がよくわからない redash/athena.py at 53abc1678045c89fe619cb1581e52321e6abc8df · g…

Redash access_permissions

access_permissionsのテーブル定義まわりがこのあたりに記載されている。 redash/models.py at b1f5d60460664b4f604f2fa699b0814f8b701416 · getredash/redash · GitHub widgetsやdashboardsの権限情報をここで保持している。 grantor_idが権限を付与したユ…

sqlparseとRedashとFormat Query

RedashのFormat Queryボタンを押すと叩かれるAPIの関数。 フォーマットの方法は reindent=True, keyword_case='upper' なので、そんなに複雑なことはしていないし、たぶんしなくてもいいともう 使っているsqlparseのバージョンは、0.2.4で、一応本家のものと…

RedashのPostgresのデータから、クエリの最新結果の行数を取りたい

RedashのPostgresのデータから、クエリの最新結果の行数を取りたい。でもそのままでは行数はわからない query_resultsのdataカラムに、各クエリの結果のデータが入っており、dataカラムはJSON的な「文字列」が入っている データ構造の定義 例 {"rows": [{"na…

redash アラート機能で参照するデータ

クエリ結果が閾値を超えていたらメールを飛ばす/Slackに通知するなどするアラート機能だけど、クエリの結果が複数行ある場合、一番最初の行のデータを参照している 実際の実装はこんな感じ。調べたけどこの挙動に不満を持つissueもこの挙動を直すプルリクも…

redashのredisデータの、特に意味のないメモ

redashのredisデータの、特に意味のないメモ Celeryのタスクの進捗を(デフォルトだとローカルの)Redisで管理している データ構造はzset admin画面の実行中クエリ一覧は、Redisのzset query_task_trackers:in_progress を参考にしている redashのredisをまる…

Modules to import prior to running the script

RedashのPythonデータソースの Modules to import prior to running the script のところについて。 モジュールとモジュールの間にスペースを入れてはいけない。モジュールが読み込まれないから。 a,b,c みたいな書き方をしないといけなくて、 a,b, c みたい…

メモ redashのクエリ検索ぶぶん

3.0.0 nameとdescriptionしか検索してくれない。TODOコメでも全文検索を使いたいという旨のことが書いてある。 redash/models.py at v3.0.0 · getredash/redash · GitHub 4.0.0 sqlalchemy_searchableをつかって全文検索になった。と同時にname id descripti…

redash api

ココ見たらええけど API | Redash APIキーにはユーザーAPIキーとクエリAPIキーがある APIを操作したいときはAPIキーをつかう APIの一覧 https://github.com/getredash/redash/blob/master/redash/handlers/api.py 例 https://gist.github.com/arikfr/5985903…

redash publish/unpublish

redash publish/unpublish unpublishなクエリをall queryでサーチ出来るのは作った本人だけ unpublishなクエリをダッシュボードやアラートに利用できない https://redash.io/help/user-guide/querying/writing-queries#publishunpublish

memo redash log

memo redash log supervisorで起動している場合はsupervisorの設定を探す そこにsupervisorとかのログがある https://redash.io/help/open-source/admin-guide/maintenance

memo redash query results

memo redash query results Redashで登録したクエリの結果を再利用するQuery Results機能について。 query parameterを使ったクエリのquery resultsは使えない query results自体でquery parameterは使える query resultsのSQLはSQLiteインメモリなのでSQL文…

memo redash issue

memo redash issue Sign in to GitHub · GitHub ですって はい。 redash/ISSUE_TEMPLATE.md at master · getredash/redash · GitHub Future Requestを出すときは、trelloをみて、 http://bit.ly/redash-roadmap なかったらdiscussionしろってさ https://disc…

redash sort value with order by

redash sort value with order by ORDER BY したカラムをX軸で棒グラフを作ったらX軸ベースでソートされないぞ!なんでだ! と思ったら、グラフ設定のx axisのsort values のチェックを外せばよかった。

redash query filter

redash query filter クエリの実行結果をフィルタリング ダウンロード結果はフィルタリング出来ない 公式もこの問題は認識しているが、直す気はない

redash athena data_scan

redash athena data_scan 4.0から、athenaのデータスキャン量がクエリの実行結果に表示されるようになった PyAthenaの data_scanned_in_bytes をJSONと画面に反映させたもの なお、20180314現在で、4.0-rc1 Report amount of data scanned for Athena querie…