hadoop中如何将数据馈送到Map器?

blpfk2vs  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(245)

我的hadoop程序的输入是一组小文件(10个文件,每个文件大小为60mb),我运行100个Map器。我假设每个Map器的输入数据只来自一个文件。也就是说,没有一个Map器的输入数据跨越两个(或更多)文件。这是正确的假设吗?

5lhxktic

5lhxktic1#

对。你说得对。还可以使用combinefileinputformat在单个Map器调用中访问多个文件中的内容。
顺便说一下,您可以查看mapper任务id,它由mapper正在读取的文件名(以及其他内容)组成。

nwwlzxa7

nwwlzxa72#

我的hadoop程序的输入是一组小文件(10个文件,每个文件大小为60mb),我运行100个Map器。
无法显式控制Map程序的总数。Map器的总数等于块的数目。所以,不确定 I run 100 mappers 中庸。
我假设每个Map器的输入数据只来自一个文件。
Map器处理一个数据块,文件可以根据数据的大小拆分为1个或1+个块。
也就是说,没有一个Map器的输入数据跨越两个(或更多)文件。
通过使用combinefileinputformat,单个Map器将能够处理多个文件。

相关问题