FlightCasterはClojureを使ってデータ分析を行い、Hadoopで分散処理を行っている。FlightCasterでは現在、多くの配布メカニズムをハンドリングするツールCraneを所有している。
Craneは今のところEC2と連携して動作する。CraneはEC2インスタンスを起動し、Clojureコードをそこに追加し、ssh
経由でそれらにアクセスできるようにする。リモートインスタンスはマスターからコントロールすることができる。例えば、リモートでインスタンスのClojureコードを評価することができる。以下はReadmeから抜粋したものだ。
(eval! socket (execute (workflow some-cascading-workflow)))
socket
は第2引数が実行されるリモートインスタンスへの接続を保持する。
より詳細な情報はCraneに関するBradford Crossの投稿から参照することができる。
また、FlightCasterは現在Incanterに統計的学習コードを提供している。Incanterとは
[..] Clojureベースの、JVM用のR風統計コンピューティングとグラフィックプラットフォームです。
IncanterはProcessingの可視化ライブラリに数学計算用Javaライブラリをバンドルする。ツールは対話的(Incanterのbin/clj
実行ファイルにより)にもClojureプログラムのライブラリとしても使うことができる。
FlightCasterのコードコントリビュートのアナウンスによれば、IncanterとHadoopとの連携が現在進行中である。
最後に、ビルドと依存性管理ツールであるLeiningen 1.0がリリースされた。Leiningenは次の手順でインストールできる。
1. http://github.com/technomancy/leiningen/raw/stable/bin/leinからスクリプトをダウンロードします。
2. 任意のパスに保存しchmodで実行可能にします。
3. 次のコマンドを実行します:lein self-install
一度インストールすれば、lein new PROJECT_NAME
でLeiningen構成ファイルproject.clj
を含む最低限必要なファイルを持った新しいClojureプロジェクトのスケルトンが作成される(注意:システムに正しいClojure.jarがない場合はコマンドがエラーで失敗する)。
Leiningenビルドを補助するだけでなく、プロジェクトが依存するものを取得する。それにはClojureライブラリのリポジトリであるClojarsを使うとうまくいく。
Leiningenの使用例として、LeiningenとClojars.orgを使ったIncanterアプリケーションの構築にはIncanterを使った例が掲載されている。