这个问题回答了我的一部分问题,但不完全。
我如何运行一个脚本来管理它,它是从我的本地文件系统来的吗?像mrjob或dumbo这样的东西到底在哪里出现?还有别的选择吗?
我正在尝试运行k-means,其中每个迭代(mapreduce作业)的输出都将作为hadoop流和python下一次迭代的输入。
我没有太多的经验和任何信息应该帮助我使这项工作。谢谢!
这个问题回答了我的一部分问题,但不完全。
我如何运行一个脚本来管理它,它是从我的本地文件系统来的吗?像mrjob或dumbo这样的东西到底在哪里出现?还有别的选择吗?
我正在尝试运行k-means,其中每个迭代(mapreduce作业)的输出都将作为hadoop流和python下一次迭代的输入。
我没有太多的经验和任何信息应该帮助我使这项工作。谢谢!
4条答案
按热度按时间46qrfjad1#
应该可以使用在hadoop上运行的graphlreate(在python中)来完成您所描述的工作。集群工具箱可以帮助实现k-means部分。您可以从本地计算机协调/编写脚本,并使用graphlab.deploy api在hadoop上运行作业。
cgh8pdjw2#
还有另一个非python选项。graphlab是一个开源项目,它在多核机器和集群上免费实现可伸缩的机器学习算法。包中包含一个实现的kmeans++算法的快速可扩展版本。有关详细信息,请参见graphlab。
graphlab的集群api可以在这里找到。
tkclm6bt3#
如果您与python的耦合不是很紧密,那么您有一个非常好的选择。cloudera有一个叫做“crunch”的项目,可以让我们轻松创建乔布斯的管道。它是一个java库,提供了一个用于编写、测试和运行mapreduce管道的框架,并且基于google的flumejava库。
vyu0f0g14#
似乎是一个很好的应用程序,它也有流选项,但我担心它只适用于scala,但他们有pythonapi,肯定值得一试,它不是很难使用(至少教程),它可以大规模扩展。