分享

关于HDFS下生成文件数量的一些疑问?

sunt99 发表于 2016-12-19 11:37:56 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 3 10751
对于有map,和reduce的操作,hdfs下生成的文件数是reduce的数量
对于只有map操作,那么hdfs下生成的文件数是怎么确定,而且每个文件的大小是怎么确定的?
我现在出现的问题,只有map的操作,hdfs下生成的文件数如果是两个,但是一个文件180多兆,另一个20b,有什么办法可以均衡一下吗?谢谢!

已有(3)人评论

跳转到指定楼层
einhep 发表于 2016-12-19 13:50:26
本帖最后由 einhep 于 2016-12-19 14:09 编辑



看下这张图,说明这个不可以改变的,除非split改变。
split,第一部分暂居大部分。第二部分则是剩下的。所以20B

来自:
MapReduce工作原理讲解
http://www.aboutyun.com/forum.php?mod=viewthread&tid=6723


回复

使用道具 举报

sunt99 发表于 2016-12-19 15:02:56
einhep 发表于 2016-12-19 13:50
看下这张图,说明这个不可以改变的,除非split改变。
split,第一部分暂居大部分。第二部分则是剩下的 ...

你好,请问下有什么参数可以设置你所说的,map端的输出文件的大小吗,我现在产生两天的文件,有一天一个文件180多兆,另一个20B,另一天一个文件140多兆,另一个20B,如下图
QQ截图20161219150335.png
回复

使用道具 举报

nextuser 发表于 2016-12-19 15:31:06
sunt99 发表于 2016-12-19 15:02
你好,请问下有什么参数可以设置你所说的,map端的输出文件的大小吗,我现在产生两天的文件,有一天一个 ...

没看懂,你截图什么意思。
至于分片,楼主需要重写InputFormat

  InputFormat主要用于描述输入数据的格式(我们只分析新API,即org.apache.hadoop.mapreduce.lib.input.InputFormat),提供以下两个功能:
  (1)数据切分:按照某个策略将输入数据切分成若干个split,以便确定MapTask个数以及对应的split;
  (2)为Mapper提供输入数据:读取给定的split的数据,解析成一个个的key/value对,供mapper使用。


更多参考
MapReduce中分片详解
http://www.aboutyun.com/forum.php?mod=viewthread&tid=8787


MapReduce获取分片数

http://www.aboutyun.com/forum.php?mod=viewthread&tid=8379


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条