hadoop作业完成时间随着输入gz文件数量的增加而增加

arknldoa  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(296)

我已经注意到这种行为,当我有许多小gz文件的kb。 Hadoop 完成这项工作需要更多的时间。与我将那些小的gz文件合并成一个大的gz文件不同。还有,小gz文件中的mapper个数和文件个数是一样的,为什么我会这样呢?但在后一种情况下,它只是一个。所以,这可能是一个原因,是吗?

bjp0bcyl

bjp0bcyl1#

hadoop通常可以很好地处理少量的大文件,而不是相反。
默认情况下,mapreduce为每个必须处理的输入文件分配一个Map任务。因此,如果您有许多小gz文件,那么默认情况下,每个文件都有自己的Map器来处理该文件。通常,jvm初始化与实际处理相隔大约几秒钟。因此,随着文件数量的增加,时间也在增加。
建议使用接近块大小的文件,以消除小文件问题。
看看这篇来自cloudera的博客文章和这个sf问题。

相关问题