首页 > 解决方案 > 是 MR 框架中的减速器瓶颈吗

问题描述

我想了解在以下情况下该怎么做。例如,我有 1TB 的文本数据,假设其中 900GB 是单词“Hello”。在每次映射操作之后,我都会有一组 <"Hello",1> 的键值对。

但正如我所说,这是一个巨大的集合,900GB,据我所知,reducer 得到了所有这些并且会粉碎。

我的减速机内存只有 80GB。

减速机 真的会压死吗??换句话说,reducer是水平扩展的瓶颈吗?

标签: mapreduceout-of-memoryhadoop2reducers

解决方案


是的,来自所有映射器的所有相等键都汇集到一个减速器中。

目前尚不清楚您是只有一个单词的 900GB,还是一堆包含一堆单词的大型文本文档。

在后一种情况下,字符串“Hello”实际上并没有占用那么多数据。单个整数也没有。

当然,reducer 也会得到一长串列表,但是如果您将 reducer 代码重新用作组合器,那么您可以通过预先聚合每个输入拆分的值来缓解内存问题


推荐阅读