code: @Override
      public void initialize(InputSplit genericSplit, TaskAttemptContext context) throws IOException, InterruptedException
      {
          FileSplit split = (FileSplit) genericSplit;
          Configuration job = context.getConfiguration();
          start = split.getStart();
          end = start + split.getLength();
          final Path file = split.getPath();
  
          // Open the file and seek to the start of the split
          FileSystem fs = file.getFileSystem(job);
          fileIn = fs.open(split.getPath());
          if (start != 0) {
              --start;
              fileIn.seek(start);
          }
  
          this.pos = start;
          deserializer = new SmileEnvelopeEventDeserializer(fileIn, false);
      }
docs: Called once at initialization.
  
  @param genericSplit the split that defines the range of records to read
  @param context      the information about the task
  @throws java.io.IOException
  @throws InterruptedException