隙あらば寝る

うぇぶのかいしゃではたらくえんじにあがかいています

csvの可視化にembulkとredashを使う

とあるところに大量のcsvファイルがあり、エクセルに読み込んでグラフを書きまくっていた。

しかし、csvに変更が発生する度に手動でエクセル操作が発生して大変だったので、うまくできる方法はないかと調べていると、embulkとredashでうまく扱えそうだというのがわかった。

redash.io

redashはデータソースに対してクエリを発行、可視化するという操作ができるツール。

csvをredashでアクセス可能にすればデータソースに合わせた操作(SQL発行など)を行いながら対話的にグラフ作成ができる。

Embulk — Embulk 0.8 documentation

embulkはデータのバッチ処理を行うためのソフトウェアで、様々な入力、出力プラグインを組み合わせて使う。

csvを入力としてpostgresqlに投入することが可能だったので、今回はこの組み合わせで利用した。

詳細は仕事のデータになってしまうので省略するが、

csvファイル→embulk→postgresql←redash

という接続で動作。

embulk、redash共にドキュメントも豊富で期待通りの設定がすぐにできた。

embulkはjavaをインストールすればすぐに動くし、redashはdocker-copose.ymlが配布されているのでインストールから起動まですぐできる。

あとはredashからcsvを格納したtableに接続してsqlを書くだけ。

csvに変更があった場合はpostgresqlの対象デーブルをdropしてから再投入すれば半自動でグラフの再生成もできる。

最初はやりたいことに対して少々大掛かりではないかと思ったが、使い勝手と作業の効率化両面からとても良かったと思う。