我对这里解释的MapReduce示例有一个疑问:
http://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/BigData_Analysis_-_Quick_Start_for_Programmers
实际上,这是hadoop MapReduce(WordCount)的最常见示例。
我可以在Cosmos的全局实例中执行它,而不会出现任何问题,但是即使我给它一个小的输入(一个2或3行的文件),执行它也要花费很多时间(大约半分钟或更少)。我以为这是它的正常行为,但是我的问题是:为什么即使很小的投入也要花这么长时间?
我猜想这种方法对于更大的数据集会提高其有效性,而最小的延迟可以忽略不计。
最佳答案
首先,您必须考虑到FIWARE LAB中Cosmos的当前实例是Hadoop的共享实例,因此许多其他用户可能同时执行MapReduce作业,从而导致计算资源的“竞争”。
话虽如此,MapReduce专为大型数据集和larga数据文件而设计。它增加了很多开销,这在处理几行时是不必要的(因为对于两行分析,您不需要MapReduce!:)),但是当这些行是数以千计,甚至数百万行时,这很有用。当然,在这些情况下,处理时间与数据大小成正比,但不是说成1:1的比例。
关于hadoop - Fiware-Cosmos MapReduce,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28837355/