Clojure近况:分布式、数学运算与构建的新动向

FlightCaster使用Clojure分析数据,使用Hadoop处理分布式相关的工作。其背后的公司现在将Crane开源出来,这个工具在FlightCaster处理了很多分布式相关的机制。

Crane目前适用于EC2;它简化了很多工作——启动EC2实例,向实例推送Clojure代码,使之能够通过ssh访问。通过Crane,能够在主控端控制远程实例,例如,可以在实例上远程执行Clojure代码(取自Readme):

(eval! socket (execute (workflow some-cascading-workflow)))

socket中持有远程实例的连接,该实例会在本地执行第二个参数。

想要获得更多信息,可以访问Bradford Croos关于Crane的文章。

FlightCaster最近还向Incanter贡献了统计学习代码。Incanter是:

[..] JVM上的一个基于Clojure的,与 R类似的统计计算与制图平台。

Incanter把数学运算的Java库和Processing的可视化库打包在一起。该工具既能以交互的方式使用(用Incanter发行包里的bin/clj可执行程序),也能作为Clojure程序里的一个库。

正如FlgihtCaster贡献代码的声明里提到的那样,目前他们正在着手让Incanter能与Hadoop协同工作。

最后,构建与依赖管理工具Leiningen发布了1.0版本。使用以下安装指令来获得Leiningen:

1. 下载脚本: http://github.com/technomancy/leiningen/raw/stable/bin/lein
2. 将它放在path中,并赋予可执行权限。
3. 运行:lein self-install

安装完毕后,lein new PROJECT_NAME会创建一个带有必要文件的项目框架,包括Leiningen的配置文件project.clj。(请注意:如果该命令出错,系统中可能没有正确的Clojure.jar)。

Leiningen不仅能够帮助进行构建,还可以替项目管理依赖,它和Clojars协作的很好,Clojars是一个构建于Maven之上的Clojure库管理工具。

用Leiningen和Clojars.org来构建Incanter应用程序一文中提供了一个使用Leiningen的例子,构建了一个将Incanter作为依赖的应用程序。

查看英文原文:Clojure Roundup: Distribution with Crane, Mathematics with Incanter, Builds with Leiningen 1.0

你可能感兴趣的:(Clojure近况:分布式、数学运算与构建的新动向)