我想了解在以下情况下该怎么办。 例如,我有1TB的文本数据,并假设其中900GB是单词“ Hello”。 每次映射操作后,我将具有<“ Hello”,1>的键值对集合。
但是正如我说的那样,这是一个巨大的存储区,容量为900GB,据我了解,reducer会全部使用并将粉碎。
我的reducer RAM只有80GB。
减速器 确实会被压碎吗? 换句话说是 reducer 缩小水平缩放的瓶颈吗?
答案 0 :(得分:0)
是的,所有映射器中所有相等的键都集中到单个化简器中。
目前尚不清楚您是否只有900GB的单个单词,或者一堆带有多个单词的大型文本文档。
在后一种情况下,字符串“ Hello”实际上并不会占用太多数据。单个整数也不是。
当然,reducer还会得到一长串清单,但是,如果您将Reducer代码重新用作组合器,则可以通过预先汇总每个输入拆分的值来减轻内存问题