3

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

如您所知,我必须使用 Hadoop 流在STDIN和之间传输数据STOUT。据我所知,当我们print (key + "\t"+value),它会被送到减速机。Reducer 将接收数据并计算新的质心,但是当我们打印新的质心时,我认为它不会将它们发送到映射器以计算新的集群,它只是将其发送到STDOUT并且如您所知,kmeans 是一种迭代算法。所以,我的问题是 Hadoop 流是否会遭受迭代程序的影响,我们应该MRJOB为迭代程序使用吗?

4

0 回答 0