基于python的mapreduce的kmeans

时间:2014-06-10 09:15:26

标签: python hadoop mrjob

我打算为kmeans算法编写一个mapper和reducer,我认为最好的做法是将距离计算器放在mapper中并发送到reducer,其中cluster id为关键,row的坐标为value。在reducer中,将执行更新质心。我是用python写的。

如您所知,我必须使用Hadoop流式传输来在STDINSTOUT之间传输数据。根据我的知识,当我们print (key + "\t"+value)时,它将被发送到reducer。 Reducer将接收数据并计算新的质心,但是当我们打印新的质心时,我认为它不会将它们发送给mapper来计算新的簇,它只是将它发送到STDOUT,如你所知,kmeans是一个迭代的算法。所以,我的问题是Hadoop流是否会遭受迭代程序的困扰,我们应该使用MRJOB进行迭代程序?

0 个答案:

没有答案