设计 MapReduce 架构中的自定义注解

Custom Annotation in designing MapReduce Architecture

我们有一个要求,我们需要以一种不依赖于输入模式的方式来设计我们的 MapReduce 架构。将有 technique/logic,其中 MapReduce 代码将保持不变,输入模式的更改将仅由自定义可配置逻辑管理。我们可以使用自定义注释来做到这一点,还是有更好的方法来做到这一点。

任何建议都会有很大帮助。非常感谢。

由于 FileInputFormatRecordReader,这已经是 MapReduce 的一个特性。我不能在这里给出比 https://hadoopi.wordpress.com/2013/05/27/understand-recordreader-inputsplit/ 更好的例子,但本质上这两个 类 不涉及核心 map()reduce() 逻辑。 FileInputFormat 负责读取和解析输入数据,然后将此数据传递给 RecordReader,它向映射器提供单个键值对。

所以映射器并不知道它的键值对来自哪里或如何到达那里(由于 context.getInputSplit() 而不是完全正确)。这意味着您可以在同一个作业中混合和匹配输入类型,尽管每个映射器只能有一个 FileInputFormat,但是您可以只使用多个不同的映射器,它们下面有相同的 POJO。