by shigemk2

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

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…

ng-trim redash

ng-trim redash どんくさいメモ redashにはSQLに変数を埋め込められるquery parameterという機能がある が、query parameterの文字列末尾にスペースが入っていると、末尾スペースが丸められてしまう 原因は、ng-trim=falseな設定がないからと思われる redash…

redash variables

ココ。.envで設定する、設定できるやつ。 Settings - Environment Variables · Redash Help Center

redash data source

redash data source データセットの追加に際しては、モジュールをpipで入れないといけない athena書いてないけど pyathenaがひつよう https://redash.io/help-onpremise/setup/supported-data-sources-options-reqs.html

redash memo

雑メモ サービスアカウント作成から秘密鍵JSONを作成する スプレッドシートをclient_mailとで共有する(共有しなくても良いかも) クエリ作成→ URLのスプレッドシートID|シート番号(0から採番) で実行→保存 保存したクエリは以後 データセット query result で…

memo redash graph js

memo redash graph js Redashで使っているグラフを描画するJSライブラリにはplotlyとd3がありまして、両方を適宜使っているっぽい client/app/visualizations の下で、グラフの種類別に実装が別れているから、チャートがおかしかったらchartを見たら良いし、…