首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拆分map/reduce任务中的键/值输入文件

拆分map/reduce任务中的键/值输入文件
EN

Stack Overflow用户
提问于 2012-07-23 03:28:47
回答 4查看 654关注 0票数 0

我有一个MapReduce任务,它有以下输入文件

代码语言:javascript
运行
复制
File1    value1
File1    value2
File2    value3
File2    value4

映射器将访问文件名并搜索其中的特定值。

问:我希望有一种优化技术来优化这些文件的磁盘访问。我需要将相同的文件id分配给同一个映射器。因此,我可以确保一次只有一个任务可以访问该文件。

示例:必填

代码语言:javascript
运行
复制
Mapper 1: File1 (value1), File1 (value2)
Mapper 2: File2 (value3), File2 (value4)

不需要:

代码语言:javascript
运行
复制
Mapper 1: File1 (value1), File2 (value3)
Mapper 2: File1 (value2), File2 (value4)

有什么帮助吗?

EN

回答 4

Stack Overflow用户

发布于 2012-07-23 05:56:20

我想这是

代码语言:javascript
运行
复制
 File1    value1
 File1    value2
 File2    value3
 File2    value4

写入到现有文件中

确保所需内容的方法是按第一列对此输入文件进行排序(并按排序进行存储)

票数 0
EN

Stack Overflow用户

发布于 2012-07-23 08:52:45

我认为如果不对输入数据进行分区,就不可能将特定数据发送到映射任务。根据需要对输入数据进行分区,并使用TextFileInputFormar.isSplittable()

票数 0
EN

Stack Overflow用户

发布于 2012-07-23 11:30:44

我可以谦虚地建议你使用减速机来达到你想要的效果。

将键的所有值都放入同一个任务中正是"reduce“的定义。

如果需要进一步减少,请对第一个作业的输出运行另一个作业。

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

https://stackoverflow.com/questions/11603338

复制
相关文章

相似问题

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