[ https://issues.apache.org/jira/browse/HIVE-9660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15267073#comment-15267073 ]
Sergey Shelukhin commented on HIVE-9660: ---------------------------------------- Btw, I just realized it would actually not even be cleaner, if I understand it correctly. You'd need to pass a callback per RG down to the RL writer (and in some cases there isn't even an RL writer, like double), but RL writer won't know when a RG ends. So you;d need to tell the RL writer which callback-RGs are done, and then when RL block ends they can send those down. That seems like a roundabout way of doing it instead of just coordinating in one place. > 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 > > > 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)