[ 
https://issues.apache.org/jira/browse/HIVE-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13775696#comment-13775696
 ] 

Ashutosh Chauhan commented on HIVE-5324:
----------------------------------------

* I think you need boolean[] of statsFromRecordWriter instead of just a 
boolean, since different writers within FSOp may or may not implement that 
interface.
* Also you need instance of check on outWriter for {{SerDeStats stats = 
((StatsProvidingRecordWriter) outWriter).getStats();}} otherwise this will 
throw ClassCastException for writers not implementing the interface.
* Move FileSinkOperator::RecordWriter in the same file as 
StatsProvidingRecordWriter and call that file FSRecordWriter.
                
> Extend record writer and ORC reader/writer interfaces to provide statistics
> ---------------------------------------------------------------------------
>
>                 Key: HIVE-5324
>                 URL: https://issues.apache.org/jira/browse/HIVE-5324
>             Project: Hive
>          Issue Type: New Feature
>    Affects Versions: 0.13.0
>            Reporter: Prasanth J
>            Assignee: Prasanth J
>              Labels: orcfile, statistics
>             Fix For: 0.13.0
>
>         Attachments: HIVE-5324.1.patch.txt, HIVE-5324.2.patch.txt
>
>
> The current implementation for computing statistics (number of rows and raw 
> data size) happens for every single row processed. The processOp() method in 
> FileSinkOperator gets raw data size for each row from the serde and 
> accumulates the size in hashmap while counting the number of rows. This 
> accumulated statistics is then published to metastore. 
> In case of ORC, ORC already stores enough statistics internally which can be 
> made use of when publishing the stats to metastore. This will avoid the 
> duplication of work that is happening in the processOp(). Also getting the 
> statistics directly from ORC is very cheap (can directly read from the file 
> footer).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to