输入文件保存在Block中
Hadoop入门(8)--从分片输入到Map
Hadoop2中 默认的Block大小为128M

分片输入

假设存储420M的文件
第四块就只存储了36M
Hadoop入门(8)--从分片输入到Map
若还有其他文件
Hadoop入门(8)--从分片输入到Map
这样就被分成了五份,分片数量为5,地址都会保存在NameNode中
Hadoop入门(8)--从分片输入到Map
但是NameNode的内存是有限的,所以这样对HDFS带来性能问题
所有HDFS适合存放大文件,
对于大量小文件,可以采用压缩、合并小文件的优化策略
例如:设置文件输入类型为CombineFileInputFormat格式

节点Map任务的个数

两个文件 1、2
Hadoop入门(8)--从分片输入到Map
根据大小分为四块,启动四个map任务
Hadoop入门(8)--从分片输入到Map
也就是说同时有四个Map线程在执行任务

节点Map任务的个数

在实际情况下,map任务的个数是受多个条件制约的,一般一个DataNode的map任务数量控制在10-100比较合适。
调节Map任务的个数

  • 增加map个数,可增大mapred,map.tasks
  • 减少map个数,可增大mapred.min.split.size
    若要减少map个数,但是有很多小文件,可以将小文件合并成大文件,在使用准则2

相关文章:

  • 2021-10-21
  • 2021-10-08
  • 2021-04-20
  • 2021-05-08
  • 2021-05-27
  • 2022-01-26
  • 2021-05-29
  • 2022-12-23
猜你喜欢
  • 2021-08-05
  • 2021-10-22
  • 2022-12-23
  • 2021-07-10
  • 2021-11-12
  • 2021-11-28
  • 2022-01-28
相关资源
相似解决方案