zoukankan      html  css  js  c++  java
  • hadoop中,combine、partition、shuffle作用分别是什么?

    combine和partition都是函数,中间的步骤应该只有shuffle!

    combine分为map端和reduce端,作用是把同一个key的键值对合并在一起,可以自定义的。
    combine函数把一个map函数产生的<key,value>对(多个key,value)合并成一个新的<key2,value2>.将新的<key2,value2>作为输入到reduce函数中
    这个value2亦可称之为values,因为有多个。这个合并的目的是为了减少网络传输。

    partition是分割map每个节点的结果,按照key分别映射给不同的reduce,也是可以自定义的。这里其实可以理解归类。
    我们对于错综复杂的数据归类。比如在动物园里有牛羊鸡鸭鹅,他们都是混在一起的,但是到了晚上他们就各自牛回牛棚,羊回羊圈,鸡回鸡窝。partition的作用就是把这些数据归类。只不过在写程序的时候,mapreduce使用哈希HashPartitioner帮我们归类了。这个我们也可以自定义。

    shuffle就是map和reduce之间的过程,包含了两端的combine和partition。


    Map的结果,会通过partition分发到Reducer上,Reducer做完Reduce操作后,通过OutputFormat,进行输出
    shuffle阶段的主要函数是fetchOutputs(),这个函数的功能就是将map阶段的输出,copy到reduce 节点本地。

    Shuffle的正常意思是洗牌或弄乱,Shuffle描述着数据从map task输出到reduce task输入的这段过程。partition,是划分,分区,归类,是shuffle的一部分。

  • 相关阅读:
    druid 连接池的配置参数
    docker启动tomcat容器访问端口显示404
    idea 查看类继承关系的快捷键
    EmbeddedServletContainerCustomizer 被代替
    Springboot中WebMvcConfigurer接口详解
    Thymeleaf 参考手册
    CSS之px、em、rem、pt的用法和区别
    CSS之text-align
    相对路径和绝对路径(实例)
    CSS的引入方式及link和@import的区别
  • 原文地址:https://www.cnblogs.com/peizhe123/p/5538855.html
Copyright © 2011-2022 走看看