hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arun C Murthy (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-54) SequenceFile should compress blocks, not individual entries
Date Sat, 05 Aug 2006 11:39:16 GMT
    [ http://issues.apache.org/jira/browse/HADOOP-54?page=comments#action_12425953 ] 
            
Arun C Murthy commented on HADOOP-54:
-------------------------------------

An implementation detail which I would like to bring to everyone's attention: 

With the 'raw' values now being a concrete object (implementing the 'ValueBytes' interface)
we now have a situation in the 'base' sort of SequenceFile.Sorter where we will potentially
have to store millions of 'rawValue' objects (assuming a decent sized SequenceFile with 'small'
records). 

As it exists today the 'sort' implementation in SequenceFile.Sorter uses 'io.sort.mb' no.
of bytes to 'segment' input for sorting (and later merges them). 

Owen suggested we also use 'no. of records' to augment the above in order to prevent situations
where we might have to store millions of 'ValueBytes' objects in memory... thus we have a
limit on the no. of records (i.e. ValueBytes objects) we use along with 'io.sort.mb' to segment
input for sorting.

Thoughts?



> SequenceFile should compress blocks, not individual entries
> -----------------------------------------------------------
>
>                 Key: HADOOP-54
>                 URL: http://issues.apache.org/jira/browse/HADOOP-54
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: io
>    Affects Versions: 0.2.0
>            Reporter: Doug Cutting
>         Assigned To: Arun C Murthy
>             Fix For: 0.6.0
>
>         Attachments: VIntCompressionResults.txt
>
>
> SequenceFile will optionally compress individual values.  But both compression and performance
would be much better if sequences of keys and values are compressed together.  Sync marks
should only be placed between blocks.  This will require some changes to MapFile too, so that
all file positions stored there are the positions of blocks, not entries within blocks.  Probably
this can be accomplished by adding a getBlockStartPosition() method to SequenceFile.Writer.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message