目前我正在浏览 Hadoop documentation关于 Mapper
类
在签名中(这是正确的命名法吗?),我们必须指定放入其中的内容以及输出的内容:
Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
这是否意味着我们需要在我们调用它的地方之外定义和实例化这些数据结构?
最佳答案
需要定义具体MapReduce任务的InputFormat和OutputFormat,是的。不过,这不是返回值,而是写入 Context 输出的内容。
这都是通过 Job 类配置的。
您所说的“签名”与 Java 泛型的任何其他应用程序没有什么不同。
对于默认的 TextInputFormat + LineRecordReader,它们使用 LongWritable 和 Text 作为这些参数。
其他格式和可写对象已经由 Hadoop 库定义,如果这是您的问题。
不过,欢迎您定义自己的
关于java - 为什么要在 Hadoop 中将返回值定义为函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46489618/