zoukankan      html  css  js  c++  java
  • 020 shuffle的重要作用,以及分区的实践

    一:学shuffle原理的必要性

    1.说明

      学习shuffle的作用是可以对程序进行优化。

      在shuffle这个部分有三个部分需要注意:

        分区

        排序

        分组

      这个可以进行优化。

    二:分区的实践

    1.说明

      在shuffle中有一行程序job.setPartitionerClass(partition.class);

      所以,可以书写一个分区规则。

    2.程序

     1 package com.senior.bigdata;
     2 
     3 import org.apache.hadoop.io.IntWritable;
     4 import org.apache.hadoop.io.Text;
     5 import org.apache.hadoop.mapreduce.Partitioner;
     6 
     7 public class PartitionerRule extends Partitioner<Text,IntWritable>{
     8 
     9     @Override
    10     public int getPartition(Text key, IntWritable value, int numPartitions) {
    11         String str=key.toString();
    12         if(str.substring(0,1).matches("A-Z")){
    13             return 0;
    14         }
    15         return 1;
    16     }
    17 
    18 }
  • 相关阅读:
    POJ-2386 Lake Counting
    白书-部分和问题
    STL-map/multimap 简述
    STL-set&&multiset 集合
    STL-优先级队列-priority_queue
    挣脱虚无,化身虚无
    C
    B
    A
    STL-list 链表
  • 原文地址:https://www.cnblogs.com/juncaoit/p/8214492.html
Copyright © 2011-2022 走看看