Mapreduce 映射器或还原器,在哪里进行更多处理?

Mapreduce 映射器或还原器,在哪里进行更多处理?,mapreduce,processing-efficiency,Mapreduce,Processing Efficiency,我有一个600万行的文本文件,其中有32000个字符,我想 测量字长频率 最简单的方法是映射器为每个单词创建一个单词长度、一个键值对,并让“聚合”缩减器完成其余工作 在mapper中进行一些聚合是否更有效?其中,键值对输出为字长、每行频率 映射器的输出将减少平均每行字数的一个因子 我知道这涉及到很多配置因素。但是,是否有一条硬性规定来说明大部分或全部工作应该由制图员或减速器来完成 该平台是AWS,带有一个学生帐户,仅限于以下配置。 我不是专家,但是否在mapper中进行一些聚合听起来像是击败了整

我有一个600万行的文本文件,其中有32000个字符,我想 测量字长频率

最简单的方法是映射器为每个单词创建一个单词长度、一个键值对,并让“聚合”缩减器完成其余工作

在mapper中进行一些聚合是否更有效?其中,键值对输出为字长、每行频率

映射器的输出将减少平均每行字数的一个因子

我知道这涉及到很多配置因素。但是,是否有一条硬性规定来说明大部分或全部工作应该由制图员或减速器来完成

该平台是AWS,带有一个学生帐户,仅限于以下配置。

我不是专家,但是否在mapper中进行一些聚合听起来像是击败了整个map reduce模式:实际上,您正在执行一个中间reduce步骤,并将其称为map步骤的一部分。这是否是一个好主意首先要看map reduce是否适合您;你是从一个完全抽象的角度问问题,还是你在某个特定的环境中工作?我有8个映射器和3个还原器。换言之,让制图员做更多的计数工作不是更有效吗?映射器计算每一行的频率,并将行总数传递给还原器。我建议,如果您的业务逻辑允许,在映射器中使用组合器,这样可以减少需要在还原器之间洗牌和排序的记录数,从而提高性能。上述方法是优化方法,在PIG/HI中跨连接使用。在这个特定问题中,您可以使用组合器在映射器端聚合结果。这将减少从映射器移动到缩减器的记录数,从而节省大量网络带宽利用率。经验法则是,只要可能,我们应该尽量减少从映射器传递到reducer的记录数。