by shigemk2

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

Redash

Redash v7を試す

リビジョンはv7.0のところに戻す ↓をなぞる redash.io 以上。 以下雑感。 スケジュールクエリは遂に日付指定ができるかーと思ったら、やっぱり30日ごとの指定が限界であった…… ローカルのRedashからRedashのpostgreにアクセスしたいときの設定。IDパスワード…

redash-query-download 0.0.4

Redashのクエリのデータをダウンロードするやつを自作した。本家のrqdとの違いは、ファイル名を変更できること。 0.0.4でクエリを実行しないでダウンロードするだけのオプションを追加した。 りどみ追加し忘れた。 rqd --help Usage: rqd [OPTIONS] Options:…

_api_queries

GET api/queries/:query_id を実行する queriesテーブルのデータを取得するので、latest_query_data_idが取れる。 # -*- coding: utf-8 -*- from redash_dynamic_query import RedashDynamicQuery redash = RedashDynamicQuery( endpoint='http://myredash-h…

RedashとRestrictedPython

RestrictedPython 4.0b8 Python 3.7.2 RedashのPythonデータソースでPythonを書けるようになるけど、このPythonデータソースにはRestrictedPythonというモジュールが使われている。 このRestrictedPythonで、使えるPythonの構文を制限することが出来る。 下…

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文…