java - 为什么要在 Hadoop 中将返回值定义为函数参数?

标签 java hadoop

目前我正在浏览 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/

相关文章:

java - 关闭 Hook 在 Eclipse 中不起作用

java - eclipse根据构造函数参数生成类变量getter setter

使用 cxf JSONProvider 将 Java 转为 JSON

java - Java中过滤ASCII流

hadoop - 从当前正在运行的作业中运行新的Hadoop流作业

hadoop - Cassandra CQL3 复合 key 不是由 Hadoop reducer 编写的

hadoop - Apache Hive安装错误

java - 为 View 的填充着色

hadoop - Kafka-HDFS-Connector-将数据从 Kafka 发送到 Hadoop

java - Hadoop Mapreduce 字数统计