Redash Meetup #1 を振り返る

すっかりRedashブログになってきたこのブログですが、今回もRedashについての話です。 TL;DR 楽しかった! Redash Meetup #1 を主催した 1年以上前からやりたいと思っていたRedashの情報共有イベントをついに開催することができました。 redash-meetup.connp…

Redash を PyCharm Community Edition でデバッグする

OS X での自分用作業メモ。 ターミナルでの作業 virtualenv で Redash 用の環境を作って、必要な Python モジュールを一通りインストールする。 $ pip2.7 install -U virtualenv $ brew install python --with-berkeley-db4 $ brew unlink python && brew li…

RedashのQuery Resultsデータソースでクエリパラメータを使用したクエリを使用する

なんとなく動いたので作業メモついでの記事。 やりたかったこと Redash 3.0.0の大きな変更点の一つであるQuery Resultsデータソースは現時点でクエリパラメータを使用したクエリを実行できない。 ariarijp.hatenablog.com しかし、業務で使っているRedashで…

Redashを2.0.0から3.0.0にアップグレードした

つい先程、社内で使っているRedashを 2.0.0.b2990 から 3.0.0.b3134 へアップグレードした。 実作業時間は15分ぐらい。作業前リハーサルは1時間ぐらいでできた気がする。 手順は公式ドキュメントのとおり。 How to Upgrade Redash · Redash Help Center $ cd…

Redash Meetup #0.1 ハンズオン振り返り

前回のProblemを中心に簡単に振り返り。 ariarijp.hatenablog.com 前回のProblemと、それに対するアクション ハンズオンの成功を第一の目標にしたため、募集人数を少なめに設定した -> ちょっと増やしたものの、当日不参加も目立った 募集から開催までの時間…

Blazerで異常値検知を試してみる

先日の記事の続きです。 ariarijp.hatenablog.com Blazerで異常値検知も試してみました。 検証に使用したVagrantfileは以下のものです。 github.com vagrant up してBlazerを起動し、ブラウザでアクセスできる状態を前提にします。 サンプルを見てみる Vagra…

表参道.rb #30でBlazerについて調べて発表してきた

得意の当日LT応募で参加してきました。 omotesandorb.connpass.com 発表スライドはこちら。 speakerdeck.com 通勤中にconnpassを見ていて、LTテーマがフリーだったのでRedashっぽいRubyで書かれたBIなんかがあれば話せそう。と思った矢先、Blazerを見つけた…

Redashの開発環境をあえてVagrantで構築する

はじめに Redash は公式ドキュメントでは、開発環境には Docker を使うことを推奨されています。 Guide · Redash Help Center 以前は Redash のリポジトリに Vagrantfile も含まれていましたが、今ではDocker移行を推奨するためか削除されています。 Docker …

Redashについていろいろ調べるときに頭のなかでイメージしている図

draw.ioを試してみたかったので、試してみたついでにメモ。 Flowchart Maker & Online Diagram Software 構成図 間違っているところもあるかもしれないけど、こんな図をイメージしている。 備考 図には書いてないけどRedash ServerはFlask、Redash WorkerはC…

Redashのメモリ使用量を節約する

IaaSが一般化してからメモリで悩むことは減りましたが、それでも無駄は減らしたいものです。 この記事ではRedashのメモリ使用量の節約について紹介します。 前提条件 以下の環境で検証しました。 macOS Sierra 10.12.6 Docker CE 17.09.1-ce-mac42 Redash v3…

Redashで使われているPythonモジュールメモ

Redashのコードを追うときに知っておくとよさそうなモジュールを個人的にメモ。 コミットIDは以下のもので調べたので。バージョン違いなどで差異があると思う。 github.com 依存関係を調べる requirements.txt を読んでいってもいいけど、 pipdeptree が便利…

2017年まとめ

大晦日なので振り返り。早く書いてゆっくり過ごしたいので、箇条書きでざっくり振り返る。 今年やってたこと Redashを去年以上に使うようになった。Redashの活用が進むにつれてインフラ構成を変えたりもした Redash絡みでPythonを書くようになった。今ではど…

Raspberry Pi 2にRedashをインストールする

「Re:dash on Raspbery Pi」という投稿を見かけたので、ちょっとしたお遊びでやってみた。 discuss.redash.io 使用したデバイス ちょっと古いけど検証にはRaspberry Pi 2 Model Bを使用。Raspberry Pi 3でも動くと思う。 Raspberry Pi 2 Model B (2015年2月…

Redash Meetup #0 ハンズオン振り返り

Redash Advent Calendar完走おめでとうございます! qiita.com この記事では、先日開催したRedashのハンズオンイベントの振り返りをします。 redash-meetup.connpass.com 振り返りの方法は定番のKPTでおこなうものとします。 思いついた順に書いているので前…

Redashの長期運用を見据えてクエリの名前付けについて考える

この記事はRedash Advent Calendar 2017 24日目の記事です。 qiita.com Redashのクエリも名前付け重要 Redashはフォーク機能によって、あるクエリをもとにした派生クエリを作成することが簡単になっており、新規クエリもUIから簡単に作成できるため、お手本…

pandashでRedashのAPIが返す結果をPandasのDataFrameとして取得する

今日はRedash Advent Calendar 2017 17日目ですね。 qiita.com mtomitomi.hatenablog.com 上記の記事ではRedashのAPIとPandasを組み合わせる例が紹介されていますが、私も似たようなことをやっているので、この記事では私が実務で使っている方法についても紹…

SchemaSpyを使ってRedashのテーブル定義確認を捗らせる

Redashのテーブル定義を確認しようとしたとき、 psql コマンドでも十分だけど、何か便利なツールを探してみたらSchemaSpyがよさそうだったのでメモ。 SchemaSpy • Database Documentation Built Easy. ツール自体はJavaで書かれているようだけど、Dockerイメ…

redashmanを使ってRedashのクエリをお手軽にバックアップする

今日はRedash Advent Calendar 16日目ですが、この記事はAdvent Calendarの記事ではありません。 qiita.com 12/16の記事はvankobeさんによる、Redashの結果をGoogleスプレッドシートで扱う事例の記事です。 qiita.com Redashの便利さと、その裏にあるつらみ …

Redashのクエリエディターのテーマを変える

この記事はRedash Advent Calendar 2017の記事ではありません。 qiita.com 9日目の記事は take4_k さんの「RedashのAzure Table StorageのQuery Runnerを作った 」です。この記事を読む前にぜひ読んでください。 take4.hatenablog.com やりたいこと この記事…

Redashで独自のQuery Runnerを作る

この記事はRedash Advent Calendar 2017 8日目の記事です。 qiita.com 独自のQuery Runnerを作る いきなり元ネタを出しますが、Redashの開発者Arikさんによる、以下の投稿を見るとだいたい作り方の雰囲気がわかってきます。 discuss.redash.io 上記の記事を…

RedashのScriptデータソースで独自のデータソースを作成する

この記事は Redash Advent Calendar 2017 5日目の記事です。 qiita.com 昨日はhideji2さんの 「RedashのPythonDataSourceを使ってデータのヘルスチェックをしてみた話」でした。 qiita.com Scriptデータソースとは RedashにはScriptデータソースという、任意…

Redash v3.0.0で追加されるQuery Resultsデータソースについて

この記事は Redash Advent Calendar 2017 1日目の記事です。 qiita.com Query Resultsデータソースとは v3.0.0 で追加されるデータソースで、文字通り「クエリの実行結果」をデータソースとして扱うことができるものです。 有料版ではすでに存在していたもの…

サービスアカウントのJSON鍵ファイルでPythonからGoogleのAPIを使用する

バッチを書くときにサービスアカウントを使う機会が多いのでメモ。 公式ドキュメントではサービスアカウントを使う例が紹介されていないので、Sheets APIのサンプルコードを少し改変してサービスアカウントで認証するようにしてみる。 Python Quickstart | S…

business-rulesを使ってルールエンジンを使った処理を書く

ルールエンジンをPythonで使えると仕事上便利なことがありそうなので調査してみたところ、 business-rules が目的にあっているように思えたので、READMEを読みつつ試してみた。 使ったモジュール Venmoが開発した business-rules を使うことにした。Venmoの…

Pythonでgoogle-cloud-bigqueryを使用してLegacy SQLを実行する

google-cloud-bigquery はデフォルトでStandard SQLを使用することになっているため、Legacy SQLを使用する場合は明示的に指定する必要がある。 github.com さっとソースを読んでみたところ、QueryJobConfigというのを使うといいらしい。 サンプル from goog…

React Nativeで買い物リストアプリを作ってiOS/Androidで動作させた

やりたかったこと React Nativeに入門するも、Hello Worldより先になかなか進まなかったので、小さな物でもいいのである程度使えるアプリを作ってみることにした。 お題としてTODOリストのような一般的な物を作ることにしたため、どう実装するかはさておいて…

Pythonのリストを決まったサイズで分割するときはmore-itertoolsのchunkedを使う

いつも忘れては同じこと調べてるのでメモ。 More Itertools — more-itertools 3.2.0 documentation pipでインストールして $ pip install more-itertools こんな感じで使うと from more_itertools import chunked if __name__ == '__main__': items = range(…

標準入力から受け取った文字列をSlackに通知するhouを作った

ぼんやりとみんGoを眺めていたら、horensoみたいに賢くなくていいから、標準入力をそのままSlackに投げるCLIツールが自分用にあったらいいような気がしてきた。 github.com そこで作ったのがこれ。horenso(報・連・相)でいうところの「報」しかやらないの…

crontabを多少読みやすくするcrontocを作った

個人的に欲しくなったので作った。crontab(CRON TABle)を読むためのツールなので、crontoc(CRON Table Of Contents)という名前。 github.com 導入方法などはREADMEのとおり。 使い方 crontab -lを見やすくするツールなのでどこで動かしてもいいけど、個人的…

PhpSpreadsheetで数値、文字列、金額、日付、画像をシートに書き込むサンプル

せっかくなので昨日書いた記事のPhpSpreadsheet版も書いてみることにした。 PHPExcelからPhpSpreadsheetに乗り換えたいという人なんかほとんど居ないと思うけど、そういうひとにとっては参考になるかもしれない。 ariarijp.hatenablog.com 環境 PHP 7.0.22 P…