在柏林最近 GOTO 发布会,Mahout 的提交者 Sebastian Schelter 概述了 Mahout 中的最新进展,即持续努力为数据分析创造一个可扩展的基础,使其如R 或Python 一样易用。
Schelter 所述的主要目标是提供一种简单的基于 DSL(域特定语言)Scala 语言,它类似于 R 语言中的矩阵表示法,但又能提供集群的大矩阵分布式存储和并行计算的可能性。
Schelter 说到,最终的库将无缝地提供对本地和分布式矩阵的使用。Mahout 团队通过设计使得这个库不依赖于特定的平台,相反它有一个可插拔的后端以针对不同的平台。
Schelter 说,目前 Apache Spark (星火)发展最为快速,但是 Apache Flink ,另一个正在孵化的下一代大数据平台,也将在 Mahout 的考虑之中。
这种新结构的一个重要方面是提供不同操作的可能性,比如,基于涉及矩阵的大小来进行潜在的深入优化。根据 Schelter 所说,主要的设计目标是让数据科学家能够编写出可伸缩的代码,而不必过分担心并行的因素。这个演示页给出了结果界面的第一印象。
Apache Mahout 最初是在 Hadoop 之上实现一些机器学习算法的一个项目。它涵盖了分类,聚类,推荐和文档学习模型算法。到目前为止,这些算法是基于Hadoop 和MapReduce 的计算模型,而不是其它更灵活的模型,比如Apache Spark。Apache Spark 已经开始发展自己的机器学习库 mllib ,目前它涵盖的算法要比 Mahout 少,但他们的项目主页声称其算法要比 Mahout 快很多(译者注:这里是说基于 MapReduce 的 Mahout),这些改进是因为将计算移动到内存中以及更好地支持了迭代算法。
Mahout 开始不仅仅依靠 MapReduce,这正是其它各种各样分布式计算替代方法出现的时候。
谷歌自身前段时间已开始探索替代的计算方案,这其中包括 Percolator (咖啡滤壶),它允许谷歌在搜索的数据库上做增量更新,还有 Pregel (普雷格尔),一个专为分布式图形计算建立的系统。Pregel 反过来又导致了象 Apache Giraph 和斯坦福大学GPS 的开源项目。
卡内基 - 梅隆大学开发的GraphLab 是可替代另一种工具箱,它提供了各种各样的机器学习算法的分布式实现。
查看英文原文: Mahout to Get Self-Optimizing Matrix Algebra Interface with Pluggable Backends for Spark and Flink
评论