首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择MapReduce设计模式

选择MapReduce设计模式
EN

Stack Overflow用户
提问于 2013-02-22 18:44:34
回答 1查看 846关注 0票数 1

为了我的荣誉项目,我正在研究处理大学生命科学系内质谱仪(MS)产生的大量数据的方法。

我一直在阅读MapReduce Design & Hadoop:权威指南,我正在尝试将我所拥有的数据连接到特定的映射和缩减模式。

第一步是求出每条曲线的加权峰值。执行计算,将6点或7点(行)减少到一个点,信息为max/min,平均值。

  • 数据位于~8GB的CSV文件中,如下所示: 100312_EXP229_GFPIP_5,1,0.00056783449000000002,0,402.0745297608135,1135.039794921875,1,0,0,0,0,0
  • 每一行本质上是图上的一个点,具有X&Y和弦。
  • 点按其中一列分组成曲线。所以我知道每一张唱片,它属于哪条曲线。
  • 每条曲线上的点数各不相同,通常在4-8点左右.

我的问题是,大多数的例子似乎都是一行行地处理问题,例如字数。我需要一次处理N行,尽管我不确定这是否是解决这个问题的正确方法。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-22 19:30:57

在您的示例中,应该可以逐行处理文件,并对映射器中的每一行输出<curve, point>进行处理。减速器将接收所有的点,属于一个单一的曲线:<curve, {point1, point2, ... }>作为输入。因此,您可以根据减速器中的曲线点计算最大/分钟/avg值,并输出<curve, max/min/avg>作为最终结果。

PS。为了准确地处理每个映射器中输入文件的N行,可以使用NLineInputFormat

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15031066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档