This问题回答了我的问题的一部分,但并不完全。
如何运行管理此脚本的脚本,是否来自我的本地文件系统?像MrJob或Dumbo这样的东西到底在哪里?还有其他选择吗?
我正在尝试运行K-Means,其中每次迭代(MapReduce作业)输出将是使用Hadoop Streaming和Python的下一次迭代的输入。
我没有太多经验,任何信息都可以帮助我完成这项工作。谢谢!
答案 0 :(得分:1)
如果你没有与Python紧密结合,那么你有一个非常好的选择。 Cloudera有一个名为“Crunch”的项目,它允许我们轻松创建MR作业的管道。它是一个java库,提供编写,测试和运行MapReduce管道的框架,并基于Google的FlumeJava库。
答案 1 :(得分:1)
还有另一个非python选项。 Graphlab是一个开源项目,用于在多核机器和集群上生成可扩展机器学习算法的免费实现。包中包含一个实现的快速可扩展版本的Kmeans ++算法。有关详细信息,请参阅Graphlab。
可以找到graphlab的群集API here。
答案 2 :(得分:0)
看起来像Spark的好应用程序它也有流选项,但我担心它只适用于Scala,但它们有Python API,绝对值得一试,它并不难用(在至少教程),它可以扩大规模。
答案 3 :(得分:0)
应该可以使用在Hadoop上运行的GraphLab Create(在Python中)来执行您描述的操作。 clustering toolkit可以帮助实现K-Means部分。您可以从本地计算机协调/编写脚本,并使用graphlab.deploy API在Hadoop上运行该作业。