Hi Harsh,

   My job is for a Similarity Search application. But, my aim for now is to 
measure the IO overhead if my mapper.map() opened a sequence file and started 
to read it record by record with:

 SequenceFile.Reader.next(key,value);

   I want to make sure that "next" here is IO efficient. Otherwise, I will need 
to write it myself to be block read then parsed in my program using the "sync" 
hints.


  So, what you meant in another words is that the reader will buffer couple of 
records (the ones between two sync(s)) into memory then use   "next" to read 
from memory .. right? if yes, what parameter is used for the buffer size?

Thank you,
Maha



On Mar 31, 2011, at 11:59 PM, Harsh J wrote:

> On Fri, Apr 1, 2011 at 9:00 AM, maha <m...@umail.ucsb.edu> wrote:
>> Hello Everyone,
>> 
>>        As far as I know, when my java program opens a sequence file for a 
>> map calculations, from hdfs. Using SequenceFile.Reader(key,value) will 
>> actually read the file in dfs.block.size then grabes record-by-record from 
>> memory.
>> 
>>  Is that right?
> 
> The dfs.block.size part is partially right when applied in MapReduce
> (actually, it would look for sync points for read start and read end).
> And no, the reader does not load the entire data in the memory in
> one-go. It buffers and reads off the stream just like any other
> reader.
> 
> Could we have some more information on what your java program does,
> and what exactly you are measuring? :)
> 
> -- 
> Harsh J
> http://harshj.com

Reply via email to