Hi, Brian:
I hope I understand your question correctly. Here is my view what provided from 
the Seekable interface.
The Seekable interface also defines the "seek(long pos)" method, which allows 
the client to seek to a specified position in the underline InputStream.
In the RecordReader, it will get the start position and an instance of the 
inputSplit, but the underline input stream is not open or available yet.
The RecordReader will find the correct start position of the stream, and use 
Seekable interface to "seek" the specified start position, and start to read 
the bytes from there, to translates following bytes data into  <K, V> pairs.
Without Seekable interface, there is no way to "seek" to the correct starting 
position.
Yong 

Date: Wed, 19 Feb 2014 14:39:00 -0500
Subject: Question about the usage of Seekable within the LineRecordReader
From: [email protected]
To: [email protected]

Hi List,In order to write my own record reader, I'm taking a look at the 
LineRecordReader in v 2.2.0.  I notice that it uses Seekable in order to tell 
where it is in the file when using something other than an InputStream.  As far 
as I can see, the only reason its used is to get the current position within 
the file (within getFilePosition() ).

My question is:  Why?  It looks like the file position is already tracked by 
the pos field.  Is there a reason to use Seekable.getPos() instead of looking 
at pos?

Thanks for the help,Brian                                         

Reply via email to