首页 文章

可以在hadoop中有一个场景,其中只有1个map任务和0个reduce任务?

提问于
浏览
0

我知道Map-phase的结果是一个中间结果,它将是reduce-phase的输入 .

最近,我在hadoop权威指南中读到“Map-tasks的结果存储在磁盘中(即不在HDFS中,因为它们是中间结果),只有Reduce-phase的结果存储在HDFS中” .

所以,通过上面的句子我的理解是,如果有一个Map任务,那么也应该有一个reduce任务 . 因为map-task的结果只是一个中间结果并将这些结果存储到HDFS,所以应该有一个reduce-task . 我的理解是否正确?

如果我的理解是错的,那么任何人都可以给我一个场景,其中可以有1个 Map 任务和0个减少任务吗?

3 回答

  • 0

    在Map Reduce中,并非所有减速器阶段都需要 . 在转换中,需要转换输入的reducer不是必需的 .

    在这些情况下,不会将reducers定义为0,或者-reducer选项将设置为None . 在这些情况下,映射器输出将存储在HDFS中 .

  • 0

    是的,当零减少器时,map任务的输出不是中间输出而是最终输出 . 在这种情况下,不会进行改组,分区 . 映射器的纯输出写入磁盘 .

  • 0

    为了未来的读者的利益:在hadoop生态系统(2.7.1 - Tez执行框架)我工作有提取工作读取数据从Flatfile,数据库和CloudApps如salesforce到HDFS不执行任何转换到数据有只映射任务而没有减少任务 . 并且在设置中没有强制执行默认缩减器 .

相关问题