http://www.aboutyun.com/thread-8927-1-1.html Mapreduce在hadoop中是一个比較难以的概念。以下须要用心看,然后自己就能总结出来了。
public static void main(String[] args)throws IOException { 2.partition partition是切割map每一个节点的结果,依照key分别映射给不同的reduce。也是能够自己定义的。这里事实上能够理解归类。 我们对于错综复杂的数据归类。比方在动物园里有牛羊鸡鸭鹅。他们都是混在一起的。可是到了晚上他们就各自牛回牛棚。羊回羊圈,鸡回鸡窝。partition的作用就是把这些数据归类。仅仅只是在敲代码的时候,mapreduce使用哈希HashPartitioner帮我们归类了。这个我们也能够自己定义。 HashPartitioner是mapreduce的默认partitioner。 以下在看该怎样自己定义,该怎样调用:(以下便是自己定义了一个Partition函数。红字部分是算法的核心,也就是分区的核心) public static class Partition extends Partitioner<IntWritable, IntWritable> { 那么我们该怎样调用:(以下调用之后,你的分区函数就生效了) public static void main(String[] args) throws IOException, 3.shuffle shuffle就是map和reduce之间的过程。包括了两端的combine和partition。 它比較难以理解,由于我们摸不着。看不到它。它仅仅是理论存在的。并且确实存在,它属于mapreduce的框架。编程的时候。我们用不到它,它属于mapreduce框架。具体能够看通过实例让你真正明确mapreduce---填空式、分布(切割)编程。
|
MapReduce中combine、partition、shuffle的作用是什么
最新推荐文章于 2022-12-21 17:55:59 发布