我想了解在这种情况下该怎么做.
例如,我有1TB的文本数据,并假设它的300GB是单词"Hello".
在每次映射操作之后,我将拥有一组<"Hello",1>的键值对.
但正如我所说,这是一个巨大的收藏,300GB,据我所知,减速机得到了所有这些,并将粉碎.
这是什么解决方案?
让我们假设组合器在这里不会帮助我(WordCount示例只是为了简单),并且数据对于reducer来说仍然太大了.
中间(Mapper)输出存储在运行映射器任务的节点的本地文件系统中,然后进行清理.请注意,此映射器输出不存储在HDFS中.reducer确实获得了任何特定键的所有中间键值对(即,键'Hello'的所有300 GB输出将由相同的Reducer任务处理).仅在需要时才将此数据带入内存.
希望这可以帮助.
归档时间: |
|
查看次数: |
1142 次 |
最近记录: |