[ 
https://issues.apache.org/jira/browse/HIVE-9660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Owen O'Malley updated HIVE-9660:
--------------------------------
    Attachment: owen-hive-9660.patch

Here's my first pass. As I've discussed:
* PositionedOutputStream gets a registerCallback method that gets called when 
the next compression block finishes.
* IntegerWriter, BitFieldWriter, and RunLengthByteWriter all get a 
registerCallback method that gets called when the RLE block and then the 
compression block finish.
* StringRedBlackTree gets a method that writes to an OutputStream without 
copying the bytes to a Text object first.
* The StringTreeWriter gets refactored so that once the decision to use direct 
encoding is made, it works just like BinaryTreeWriter.

There are a couple of things that I haven't addressed yet:
* isPresent stream suppression doesn't remove the first length from the vector.
* The reading code doesn't use the length vector yet.
* I haven't added unit tests for the new code.
* I know the current ORC unit tests are failing. The changes to the OutStream 
and run length encoders are very straightforward, but I'm tracking down what 
I've messed up in WriterImpl.


> store end offset of compressed data for RG in RowIndex in ORC
> -------------------------------------------------------------
>
>                 Key: HIVE-9660
>                 URL: https://issues.apache.org/jira/browse/HIVE-9660
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>         Attachments: HIVE-9660.01.patch, HIVE-9660.02.patch, 
> HIVE-9660.03.patch, HIVE-9660.04.patch, HIVE-9660.05.patch, 
> HIVE-9660.06.patch, HIVE-9660.07.patch, HIVE-9660.07.patch, 
> HIVE-9660.08.patch, HIVE-9660.09.patch, HIVE-9660.10.patch, 
> HIVE-9660.10.patch, HIVE-9660.11.patch, HIVE-9660.patch, HIVE-9660.patch, 
> owen-hive-9660.patch
>
>
> Right now the end offset is estimated, which in some cases results in tons of 
> extra data being read.
> We can add a separate array to RowIndex (positions_v2?) that stores number of 
> compressed buffers for each RG, or end offset, or something, to remove this 
> estimation magic



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to