嗨,我想更好地了解地图降低性能。
是什么主导了 Hadoop 中实现的 MapReduce 算法的性能?
如果一个节点需要处理大量数据,是计算时间,还是磁盘写入和读取时间?
当我运行一些 map reduce 程序时,我观察到与磁盘读取时间相比,磁盘写入时间需要很长时间。
我想知道磁盘写入的开销是否远大于计算时间(CPU 时间),需要在节点处处理大量数据。与 I/O 访问相比,CPU 时间是否微不足道?
下面的算法是在每个 reduce 节点上发生的情况:我想知道与从 HDFS 读取输入然后处理将输出写入 HDFS 相比,执行此算法的 CPU 时间是否微不足道。
Input : R is a multiset of records sorted by the increasing order of their sizes; each record has been canonicalized by a global ordering O; a Jaccard similarity threshold t
Output : All pairs of records hx, yi, such that sim(x, y) > t
1 S <- null;
2 Ii <- null (1 <= i <= |U|);
3 for each x belongs to R do
4 p <- |x| - t * |x| + 1;
5 for i = 1 to p do
6 w <- x[i];
7 for each (y, j) belongs to Iw such
that |y|>= t*|x| do /* size filtering on |y| */
8 Calculate similarity s = (x intersection y) /* Similarity calculation*/
9 if similarity>t
S <- S U (x,y);
10 Iw <- Iw Union {(x, i)}; /* index the current prefix */;
11 return S