[ 
http://issues.apache.org/jira/browse/HADOOP-54?page=comments#action_12422673 ] 
            
Owen O'Malley commented on HADOOP-54:
-------------------------------------

One more thing, the "append" isn't appending bytes, but a preserialized 
key/value pair. The interface is a little unfortunate, because it forces the 
key and value to be in the same buffer. A more general interface would be 
something like:

append(byte[] key, int keyOffset, int keyLength, byte[] value, int valueOffset, 
int valueLength)

The advantage of that interface is that if the application has the key and 
value in different buffers they don't need to be copied into a single buffer 
before being copied to the SequenceFile.Writer's buffer.

> 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.5.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

        

Reply via email to