我知道如果在驱动程序类中没有提到mapper类,它也将使用身份映射器以及同样的reducer。但是如果没有编写任何mapper类,谁将调用hdfs输入数据并处理它并发送到reducer。
答案 0 :(得分:1)
Mapper类是必需的。正如您所说,如果您未在驱动程序中指定Mapper类,则将使用IdentityMapper。
但是如果没有编写任何mapper类,谁将调用hdfs输入数据并处理它并发送给reducer。
因此,如果您没有编写任何映射器类,IdentityMapper将处理输入数据(在驱动程序类中指定)并将其发送到reducer。
边缘情况:在某些情况下,mapper而不是读取输入数据会随机生成自己的数据,例如来自mapreduce示例的PiEstimator示例不读取输入数据,而是生成随机数据和将该数据传递给reducer's。同样TeraGen也是如此。