与通常的链式任务(map ->减少 -> 映射 -> 减少)。是否有使用其中任何一个的规范示例或杀手级应用程序?或者,是否有一些著名的系统/应用程序使用它们中的任何一个?
问问题
235 次
1 回答
4
我认为它们适用于那些在工作管道中几乎没有使用 IdentityMapper 或 IdentityReducer 的步骤的情况。
考虑到这一点,您在给定管道中有 2 个作业步骤:
- 步骤1
- 第2步
现在,Step1 使用 IdentityReducer。因此步骤 1 的输出将被写入磁盘,然后由步骤 2 选择。为了简化这个过程,ChainMapper 有助于消除这种复制到磁盘和在 Step2 的映射器中的读取。
因此,Step1 可以成为第一个映射器 M1,Step2 的映射器可以成为第二个映射器 M2。所以它现在看起来像 [ M1 -> M2 -> R2 ]。
现在就实际示例而言,有一个非常常见的用例,其中需要过滤掉记录然后开始处理它。您可能会争辩说,为什么我们不能在同一个映射器中同时进行处理和过滤,我想说有两个原因:
1 - 关注点分离
2 - 如果您已经准备好管道并且只需要对其附加预处理步骤,Chain Mapper 会派上用场。
于 2013-10-09T15:20:19.957 回答