Class GuaguaInputSplit

  • All Implemented Interfaces:
    org.apache.hadoop.io.Writable

    public class GuaguaInputSplit
    extends org.apache.hadoop.mapreduce.InputSplit
    implements org.apache.hadoop.io.Writable
    InputSplit implementation in guagua for Hadoop MapReduce job.

    If mapper with isMaster true means it is master, for master so far fileSplits is null.

    For worker, input fileSplits are included, here FileSplit array is used to make guagua support combining FileSplits in one task.

    • Constructor Detail

      • GuaguaInputSplit

        public GuaguaInputSplit()
        Default constructor without any setting.
      • GuaguaInputSplit

        public GuaguaInputSplit​(boolean isMaster,
                                org.apache.hadoop.mapreduce.lib.input.FileSplit... fileSplits)
        Constructor with isMaster and fileSplits settings.
        Parameters:
        isMaster - Whether the input split is master split.
        fileSplits - File splits used for mapper task.
      • GuaguaInputSplit

        public GuaguaInputSplit​(boolean isMaster,
                                org.apache.hadoop.mapreduce.lib.input.FileSplit fileSplit)
        Constructor with isMaster and one FileSplit settings.
        Parameters:
        isMaster - Whether the input split is master split.
        fileSplit - File split used for mapper task.
    • Method Detail

      • readFields

        public void readFields​(DataInput in)
                        throws IOException
        Specified by:
        readFields in interface org.apache.hadoop.io.Writable
        Throws:
        IOException
      • getLength

        public long getLength()
                       throws IOException,
                              InterruptedException
        For master split, use Long.MAX_VALUE as its length to make it is the first task for Hadoop job. It is convenient for users to check master in Hadoop UI.
        Specified by:
        getLength in class org.apache.hadoop.mapreduce.InputSplit
        Throws:
        IOException
        InterruptedException
      • isMaster

        public boolean isMaster()
      • setMaster

        public void setMaster​(boolean isMaster)
      • getFileSplits

        public org.apache.hadoop.mapreduce.lib.input.FileSplit[] getFileSplits()
      • setFileSplits

        public void setFileSplits​(org.apache.hadoop.mapreduce.lib.input.FileSplit[] fileSplits)
      • getExtensions

        public Object[] getExtensions()
      • setExtensions

        public void setExtensions​(Object[] extensions)