@SuppressWarnings("unchecked")
  @Override
  public void readFields(DataInput input) throws IOException {
    String partitionInfoString = WritableUtils.readString(input);
    partitionInfo = (PartInfo) HCatUtil.deserialize(partitionInfoString);

    String baseSplitClassName = WritableUtils.readString(input);
    org.apache.hadoop.mapred.InputSplit split;
    try {
      Class<? extends org.apache.hadoop.mapred.InputSplit> splitClass =
        (Class<? extends org.apache.hadoop.mapred.InputSplit>) JavaUtils.loadClass(baseSplitClassName);

      //Class.forName().newInstance() does not work if the underlying
      //InputSplit has package visibility
      Constructor<? extends org.apache.hadoop.mapred.InputSplit>
        constructor =
        splitClass.getDeclaredConstructor(new Class[]{});
      constructor.setAccessible(true);

      split = constructor.newInstance();
      // read baseSplit from input
      ((Writable) split).readFields(input);
      this.baseMapRedSplit = split;
    } catch (Exception e) {
      throw new IOException("Exception from " + baseSplitClassName, e);
    }
  }
Gets the table schema.
@return the table schema
hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatSplit.java