TSFHiveInputFormat extends FileInputFormat<NullWritable, MapWritable> { @Override public InputSplit[] getSplits(JobConf job, int numSplits) throws IOException { job.setBoolean(INPUT_DIR_RECURSIVE, true); return TSFInputFormat.getTSFInputSplit(job, Arrays.asList(super.listStatus(job)), logger) .toArray(new InputSplit[0]); }  @Override RecordReader<NullWritable, MapWritable> getRecordReader(InputSplit split, JobConf job,
      Reporter reporter); @Override InputSplit[] getSplits(JobConf job, int numSplits);  }
@Test public void testGetSplits() { try { InputSplit[] inputSplits = inputFormat.getSplits(job, 0); assertEquals(1, inputSplits.length); assertTrue(inputSplits[0] instanceof TSFInputSplit); TSFInputSplit inputSplit = (TSFInputSplit) inputSplits[0]; } catch (IOException e) { e.printStackTrace(); fail(); } }