throws IOException {
String jobString = job.get(HCatConstants.HCAT_KEY_JOB_INFO);
InputJobInfo inputJobInfo = (InputJobInfo) HCatUtil.deserialize(jobString);
String tableName = job.get(TableInputFormat.INPUT_TABLE);
TableSplit tSplit = (TableSplit) split;
HbaseSnapshotRecordReader recordReader = new HbaseSnapshotRecordReader(inputJobInfo, job);
inputFormat.setConf(job);
Scan inputScan = inputFormat.getScan();
// TODO: Make the caching configurable by the user
inputScan.setCaching(200);
inputScan.setCacheBlocks(false);
Scan sc = new Scan(inputScan);
sc.setStartRow(tSplit.getStartRow());
sc.setStopRow(tSplit.getEndRow());
recordReader.setScan(sc);
recordReader.setHTable(new HTable(job, tableName));
recordReader.init();
return recordReader;
}