我对hadoop和peforming有些新的地方机器上的测试。
有许多解决方案来处理许多小文件。我使用的是combineInputFormat,它扩展了combinefileinputformat。
我看到Map器的数量已经从100个变为25个,使用的是combinedinputformat。由于Map器的数量已经减少,我是否也应该期望任何性能提升?
我已经在许多没有组合的小文件上执行了map reduce工作:100个mappers花了10分钟
但是当使用CombinedInputFormat执行MapReduce作业时:25个Map器花费了33分钟。
任何帮助都将不胜感激。
1条答案
按热度按时间6g8kf2rb1#
hadoop在处理少量大文件时比处理大量小文件时性能更好。()这里的“小”意味着比hadoop分布式文件系统(hdfs)块要小得多,“数字”意味着从1000到1000)。
这意味着,如果您有1000个1mb大小的文件,那么map reduce作业将基于正常大小
TextInputFormat
将创建1000个Map任务,每个Map任务都需要一定的时间来开始和结束。任务创建中的延迟会降低作业的性能在资源受限的多租户集群中,获取大量的map slot也是非常困难的。
有关更多详细信息和基准测试结果,请参阅此链接。