2017-07-10 21 views
-1

我正在运行mapreduce作业。如何知道分配给映射器的行总数

我通过设置max_input_split_size字段来决定mappers的数量。 假设输入文件大小为1GB,max_input_split_size = 1mb。 因此,每个映射器将在文件中分配一些行数。

假设每个映射器都分配了k行。

有没有办法找到这个值k。

+0

为什么-1,在这个简单的问题中有什么不清楚,请评论。 –

+1

每个映射任务都返回MAP_INPUT_RECORDS的值。如果每个输入记录都对应一个新行,那么我的用例是 – vefthym

回答

0

无法获得k的值,即没有分配给映射器的行。它将根据拆分大小拆分文件并将块分配给映射器。

+0

,为每个1k的调用在列表中映射()时保存并一次处理它们。如果我不知道k,我将无法为最后一组键{1k)执行此操作。 –

+1

我没有拿到用例。如果您需要计算某些值,只需在您的程序中使用计数器的建议。 –

相关问题