【问题标题】:Mahout on SparkSpark 上的 Mahout
【发布时间】:2014-08-16 23:24:51
【问题描述】:

我已经计划使用 Mahout 提供的一些集群算法,在 Hadoop 上运行。

现在我看到发生了变化,Mahout 正在从 MapReduce 转向 Spark。

这让我很困惑,如何实现这样的系统?我什至需要 Hadoop,为了什么?以及如何结合 Mahout 和 Spark?

谢谢

【问题讨论】:

    标签: mahout apache-spark


    【解决方案1】:

    一些有用的事实:

    • Hadoop 有两件事 1) 分布式弹性文件系统。 2)一个mapreduce分布式执行平台。
    • Spark 使用 Hadoop 的文件系统 (HDFS)
    • Mahout 仍然在 Hadoop mapreduce 中实现了许多算法
    • 这里有一个页面解释了哪些算法基于哪些平台:http://mahout.apache.org/users/basics/algorithms.html

    这归结为这样一个事实,即您可以只安装您需要的东西或安装它们,而不用担心单独的算法需要什么。

    在同一个集群或者单台机器上安装Spark + Hadoop有几种方式,最简单的是非协同的(这很简单),最高效的是使用像Mesos或者Hadoop的Yarn这样的协同管理器,建议用于大量使用或生产的大型集群。

    何时安装 Hadoop

    基本上总是需要 Hadoop。如果您使用 Mahout 集群,它只需要使用 HDFS 和 mapreduce 的 Hadoop——因此不需要 Spark。如果您需要 Spark,还有另一个名为 MLlib 的库,其中包含一些聚类算法。

    这里有一个页面解释了哪些算法基于哪些平台:http://mahout.apache.org/users/basics/algorithms.html

    何时安装 Spark

    截至今天,Scala 中有一个广泛的矩阵/向量/线性代数 DSL,包括 Spark 上的一些协同过滤算法。因此,Spark 仅适用于那些,但在我们编写时正在实施更多。

    【讨论】:

    • 谢谢你的回答,我会接受的。具体来说,我的目标是实现 Mahout 集群系统,它将在 Spark 上运行(我发现他们正在从 MapReduce 迁移到 Spark,原因之一是它将数据保存在内存中,而不是磁盘上,这使得 ML 算法快点)。所以,我的问题是,我需要 Hadoop 吗?我读到 Spark 可以独立运行,因为它可以自己进行集群管理......
    猜你喜欢
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 2015-04-07
    相关资源
    最近更新 更多