ruby – 解决map reduce问题

前端之家收集整理的这篇文章主要介绍了ruby – 解决map reduce问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在 ruby中模拟我的地图实现并减少像hadoop这样的系统的功能,以验证这个想法至少是有效的.

我有以下问题.我有两个元素列表:

List1
3 - A
4 - B
5 - C
7 - D
8 - F

List2
2 - A
8 - B
6 - C
9 - D
4 - E

我需要构建一个通用列表,其中包含与两个列表中常见字母相关联的数字的总和:

commonList
5 - A
12 - B
11 - C
16 - D

我想用map创建一个ruby脚本并减少操作来解决这个问题.我不确定如何解决这个问题或者在ruby脚本中用什么程序来模拟这个问题.

任何帮助赞赏.

解决方法

您可以尝试考虑 MapReduce维基百科文章中给出的元素:

>输入阅读器 – 在您的情况下,这可能是对输入哈希值的[key,value]对的方法调用.
>一个Map函数 – 你已经有了应该处理数据的键,所以你的map worker只返回它作为输入的[key,value]对
>分区函数 – 一种基于密钥分配reduce worker的方法.在你的情况下,它可能只是key.hash%REDUCER_COUNT.
>比较函数 – 我不认为这适用于您的情况,因为您不需要以任何特定顺序处理值.
> a Reduce函数 – 将被赋予[key,list]对,list是与该键相关联的值列表.如果列表长度超过一个元素,它将返回列表的总和(因为您只需要处理两个输入哈希值中出现的元素).
>输出编写器 – 在你的例子中可能是简单的哈希.

here’s我(以上)简化了以上的实现.

猜你在找的Ruby相关文章