gpt4 book ai didi

hadoop - 映射器如何在map-reduce中读取小尺寸输入?

转载 作者:行者123 更新时间:2023-12-02 20:09:07 27 4
gpt4 key购买 nike

我有一个 map 缩减工作,其输入是一个大数据集(假设大小为100GB)。映射减少作业的作用是将大数据拆分为多个块,并写入单独的文件,每个数据块一个。也就是说,作业的输出是多个文件,每个文件大小为64MB。

此map-reduce作业的输出用作另一个map-reduce作业的输入。由于新输入包含多个文件,每个文件的大小为64MB,第二个map-reduce作业中的每个映射器是否仅读取一个文件,或者可能读取多个文件?

最佳答案

默认情况下,JobTracker将 map task 分配给一个块。您可以使用CombineFileInputFormat解决此问题,并将多个块blob到一个输入拆分中(但这不是您要的内容)。

在您的情况下,如果文件超过64MB,默认块大小为64MB,则每个〜64MB文件最终可能会有两个块,这可能是不好的。如果所有文件都小于块大小,则每个块应有一个映射器。

我不知道您为什么要拥有第一个mapreduce工作。您基本上是在免费创建Hadoop为您做的事情。如果您有一堆大文件,总计达100GB,那么让Hadoop的块为您完成“拆分”。例如,使用块大小为64MB的140MB文件将自动拆分为64MB,64MB和12MB块。将生成三个映射器来处理一个文件。

关于hadoop - 映射器如何在map-reduce中读取小尺寸输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18922694/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com