hadoop中map方法读数据的问题?

理由
举报 取消

看了两天hadoop,有个基础概念没明白,假设块大小是64M,我有128M的数据,按理说会启两个mapper,但是mapper默认是按行读数据,比如说64M有1000行,是每个mapper会循环执行map方法1000次?最后每个mapper汇总这1000次的结果交给reducer? 我在程序里设置了 NLineInputFormat.setNumLinesPerSplit(job, 5); map方法里打印一个tag,测试数据有10行,结果打印了10次tag

2017年10月16日 1 条回复 1338 次浏览

发起人:陈群 初入职场

回复 ( 1 )

  1. Reid Chan
    理由
    举报 取消

    ………

    你的inputformat是NLine啊……

    就不是每次处理一行了 是N行

    而且你设置每个split用5行处理完

    假如你1000行

    每次处理就是200行

    分5次完成

    你刚好2个split

    一个split5个tag

    打10个tag有问题吗

    想一行一行处理

    用默认的TextInputFormat

我来回答

Captcha 点击图片更换验证码