首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使MapReduce与HDFS协同工作

如何使MapReduce与HDFS协同工作
EN

Stack Overflow用户
提问于 2014-10-23 01:02:21
回答 3查看 88关注 0票数 0

这听起来可能是个愚蠢的问题。我可能会编写一个MR代码,它可以将输入和输出作为HDFS的位置,然后我真的不需要担心hadoop/先生的并行计算能力(如果我错了,请纠正我)。

但是,如果我的输入不是HDFS位置,比如我将一个mongodb://localhost:27017/mongo_hadoop.messages数据作为输入--运行映射器和减法器,并将数据存储回mongodb,那么HDFS将如何进入画面。我的意思是,如何确保1GB或任何大小的大文件首先在HDFS上分发,然后在其上执行并行计算?是这个直接URI不会分发数据吗?我需要接受BSON文件,将它加载到HDFS上,然后将HDFS路径作为MR的输入,或者框架本身就足够聪明了?

如果上面的问题太愚蠢或者根本没有任何意义,我很抱歉。我对大数据非常陌生,但非常兴奋地投入到这个领域。

谢谢。

EN

Stack Overflow用户

发布于 2014-10-24 05:18:01

对不起,我对MongoDb不太确定。

如果您只想知道,如果我们使用数据源是一个表,那么当MapRed使用HBase时,这就是我的答案。

我们将使用TableInputFormat在MapRed作业中使用Hbase表。

来自http://hbase.apache.org/book.html#hbase.mapreduce.classpath

7.7.图-任务拆分7.7.1。默认的HBase MapReduce拆分器

当TableInputFormat用于在MapReduce作业中获取HBase表时,它的拆分器将为表的每个区域创建一个映射任务。因此,如果表中有100个区域,则不管扫描中选择了多少列族,都会有100个映射任务。

7.7.2.自定义分离器

有关那些对实现自定义拆分器感兴趣的人,请参见TableInputFormatBase中的方法TableInputFormatBase。这就是地图任务分配的逻辑所在。

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

https://stackoverflow.com/questions/26519657

复制
相关文章

相似问题

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