yanagishimaとchaco
MySQL WorkbenchのPresto版を目指して開発していたyanagishimaもPrestoのWeb UIツールyanagishimaを書きました - wyukawa’s blogの時と比べるとだいぶ良くなったので0.1を先日リリースしました。
チーム内ではメインで使ってます。
出来ることはだいたい下記の通りです。
- テーブルを右クリックして select ... limit 100 実行
- カタログ一覧、テーブル一覧、カラム名やカラムの型の表示
- クエリ一覧の表示とkill
- クエリ履歴の保存とインクリメンタルサーチ
- presto viewのDDLの表示
- 結果のTSVダウンロード
クエリ補完も一部実装しているのですが、文脈を意識した形にはなっていないのでイマイチです。本当はH2(http://www.h2database.com/)みたいにしたいんですけどね。
またうちの環境ではHive以外のストレージとしてNetezzaを少し使っています。
で、PrestoからNetezzaを見るようにすればyanagishimaからもアクセスできて良いじゃんということで当初はそうしていました。
Presto Netezza ConnectorはPostgreSQL Connectorを参考にして作りました。
https://github.com/wyukawa/presto/tree/netezza-connector
ただPrestoのJDBCアクセスはあんまりやる気無いというか、LIMITが効かないんですよね。
それもあってyanagishimaからNetezzaを見るのは諦めて最近別ツールchacoを開発しています。
https://github.com/wyukawa/chaco
これはJDBCでDBアクセスするMySQL WorkbenchライクなWebアプリケーションです。
見た目はほとんどyanagishimaと同じなのですが、クエリ一覧は取れないだろうし、クエリキャンセルも出来ないだろうし、パーティションも無いし、と思って別アプリケーションにしました。
PostgreSQLとNetezzaで動作確認しています。
デフォルトはPostgreSQLの設定になっていますが、Netezzaで動作確認したい場合は、NetezzaのJDBCドライバを手動でmvn installして下記のようにすればOKです。
mvn -P netezza jetty:run -Dchaco.env=local
mvn packageすればwarファイルも出来ます。
chacoはavans(https://github.com/tokuhirom/avans)で作っています。
mvn archetype:generateして作ったのでmavenベースになっています。
Netezzaのデータを見るためのツールとしてはAginity Workbench(http://www.aginity.com/workbench/)というMySQL Workbenchライクなクライアントアプリケーションがあるのですが、これはWindowsでしか動かないこともあってchacoを作りました。
chacoの名前はサザンオールスターズの「チャコの海岸物語」からとりました。
chacoはまだようやく動くようになってきたという段階ですが、最近はこんなことしてました。