@Override
  public float getProgress() throws IOException {
    // The calculation is strongly dependent on the assumption that all splits
    // came from the same file
    return Math.min(1.0f, ((recordReader == null || this.getIOContext().isBinarySearching()) ?
        progress : recordReader.getPos()) / (float) (split.getLength()));
  }
BucketizedHiveRecordReader is a wrapper on a list of RecordReader. It behaves
similar as HiveRecordReader while it wraps a list of RecordReader from one
file.
ql/src/java/org/apache/hadoop/hive/ql/io/BucketizedHiveRecordReader.java