我的hadoop程序的输入是一组小文件(10个文件,每个文件大小为60mb),我运行100个Map器。我假设每个Map器的输入数据只来自一个文件。也就是说,没有一个Map器的输入数据跨越两个(或更多)文件。这是正确的假设吗?
5lhxktic1#
对。你说得对。还可以使用combinefileinputformat在单个Map器调用中访问多个文件中的内容。顺便说一下,您可以查看mapper任务id,它由mapper正在读取的文件名(以及其他内容)组成。
nwwlzxa72#
我的hadoop程序的输入是一组小文件(10个文件,每个文件大小为60mb),我运行100个Map器。无法显式控制Map程序的总数。Map器的总数等于块的数目。所以,不确定 I run 100 mappers 中庸。我假设每个Map器的输入数据只来自一个文件。Map器处理一个数据块,文件可以根据数据的大小拆分为1个或1+个块。也就是说,没有一个Map器的输入数据跨越两个(或更多)文件。通过使用combinefileinputformat,单个Map器将能够处理多个文件。
I run 100 mappers
2条答案
按热度按时间5lhxktic1#
对。你说得对。还可以使用combinefileinputformat在单个Map器调用中访问多个文件中的内容。
顺便说一下,您可以查看mapper任务id,它由mapper正在读取的文件名(以及其他内容)组成。
nwwlzxa72#
我的hadoop程序的输入是一组小文件(10个文件,每个文件大小为60mb),我运行100个Map器。
无法显式控制Map程序的总数。Map器的总数等于块的数目。所以,不确定
I run 100 mappers
中庸。我假设每个Map器的输入数据只来自一个文件。
Map器处理一个数据块,文件可以根据数据的大小拆分为1个或1+个块。
也就是说,没有一个Map器的输入数据跨越两个(或更多)文件。
通过使用combinefileinputformat,单个Map器将能够处理多个文件。