小编mem*_*555的帖子

如果在Hadoop MapReduce中减速器的输入太大会怎么样?

我想了解在这种情况下该怎么做.
例如,我有1TB的文本数据,并假设它的300GB是单词"Hello".
在每次映射操作之后,我将拥有一组<"Hello",1>的键值对.

但正如我所说,这是一个巨大的收藏,300GB,据我所知,减速机得到了所有这些,并将粉碎.

这是什么解决方案?
让我们假设组合器在这里不会帮助我(WordCount示例只是为了简单),并且数据对于reducer来说仍然太大了.

hadoop mapreduce

7
推荐指数
1
解决办法
1142
查看次数

理解Spark中的treeReduce()

你可以在这里看到实现:https: //github.com/apache/spark/blob/ffa05c84fe75663fc33f3d954d1cb1e084ab3280/python/pyspark/rdd.py#L804

它与"正常" reduce功能有何不同?
这是什么意思depth = 2

我不希望reducer函数在分区上线性传递,但首先减少每个可用对,然后将迭代,直到我只有一对并将其减少为1,如图所示:

在此输入图像描述

是否treeReduce做到这一点?

python reduce apache-spark rdd pyspark

7
推荐指数
1
解决办法
3524
查看次数

Apache Spark 与 Hadoop 方法有何不同?

每个人都说 Spark 正在使用内存,因此它比 Hadoop 快得多。

我从 Spark 文档中不明白真正的区别是什么。

  • Spark 将数据存储在内存中的什么位置,而 Hadoop 则不存储?
  • 如果数据对于内存来说太大会发生什么?在这种情况下,它与 Hadoop 有多相似?

hadoop apache-spark

5
推荐指数
2
解决办法
988
查看次数

在numpy中找到n个点到m个点的平方距离

我有2个numpy数组(比如X和Y),每行代表一个点向量.
我想在X中的每个点到Y中的每个点之间找到平方的欧氏距离(将其称为'dist').
我希望输出为矩阵D,其中D(i,j)是dist(X(i) ),Y(j)).

我有以下python代码基于:http://nonconditional.com/2014/04/on-the-trick-for-computing-the-squared-euclidian-distances-between-two-sets-of-vectors/

def get_sq_distances(X, Y):
    a = np.sum(np.square(X),axis=1,keepdims=1)
    b = np.ones((1,Y.shape[0]))
    c = a.dot(b)
    a = np.ones((X.shape[0],1))
    b = np.sum(np.square(Y),axis=1,keepdims=1).T
    c += a.dot(b)
    c -= 2*X.dot(Y.T)
    return c
Run Code Online (Sandbox Code Playgroud)

我试图避免循环(我应该吗?)并使用矩阵mult来进行快速计算.但我在大型阵列上遇到"内存错误"的问题.也许有更好的方法来做到这一点?

python performance numpy euclidean-distance

2
推荐指数
1
解决办法
922
查看次数

多态性,STL,查找和运算符==

我遇到了一个问题.我有一个A类,一个继承自A的类,我们称之为B类.我有虚函数.我想通过operator ==将A和B与另一个C类进行比较.如果我想要一个A的列表,让我们说在stl列表中,我必须使用指向A的指针,所以它看起来像:

list<*A> list;
Run Code Online (Sandbox Code Playgroud)

我也有: C something

但现在,我无法使用该函数:find(list.begin(),list.end(),something) 因为我不能使用operator ==指针(*).

我找到了一个解决方案,但我认为它不是最好的,所以我的问题是 - 我可以做得更好吗?

    iter=list.begin();
    for(iter;iter!=list.end();++iter)
    {
        if((*iter).operator==(something)
            return ...
    }
Run Code Online (Sandbox Code Playgroud)

谢谢.

c++ stl

0
推荐指数
1
解决办法
170
查看次数

我为什么要放弃添加二进制数?

在此输入图像描述

例如,对于8位数.我为什么要放弃这个?我明白溢出只是当我在同一个符号中添加2个数字并在另一个符号中得到结果时.这是什么情况?

binary assembly computer-science computer-architecture

0
推荐指数
1
解决办法
2149
查看次数