这个问题回答了我的部分问题,但不完全。
如何运行管理此脚本的脚本,它来自我的本地文件系统吗?像 MrJob 或 Dumbo 这样的东西到底在哪里出现?还有其他选择吗?
我正在尝试运行 K-Means,其中每次迭代(一个 MapReduce 作业)输出将是使用 Hadoop Streaming 和 Python 进行下一次迭代的输入。
我没有太多经验,任何信息都可以帮助我完成这项工作。谢谢!
这个问题回答了我的部分问题,但不完全。
如何运行管理此脚本的脚本,它来自我的本地文件系统吗?像 MrJob 或 Dumbo 这样的东西到底在哪里出现?还有其他选择吗?
我正在尝试运行 K-Means,其中每次迭代(一个 MapReduce 作业)输出将是使用 Hadoop Streaming 和 Python 进行下一次迭代的输入。
我没有太多经验,任何信息都可以帮助我完成这项工作。谢谢!
如果您与 Python 的耦合不是很紧密,那么您有一个很好的选择。Cloudera 有一个名为“ Crunch ”的项目,它允许我们轻松地创建 MR 作业的管道。它是一个 java 库,为编写、测试和运行 MapReduce 管道提供框架,并且基于 Google 的 FlumeJava 库。
应该可以使用在 Hadoop 上运行的 GraphLab Create(在 Python 中)来执行您所描述的操作。聚类工具包可以帮助实现 K-Means 部分。您可以从本地计算机协调/编写脚本,并使用graphlab.deploy API在 Hadoop 上运行作业。
似乎是Spark的一个很好的应用程序,它也有流选项,但我担心它只适用于 Scala,但他们有 Python API,绝对值得一试,它并不难使用(至少是教程)而且它可以大规模。