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

jirapos...@reviews.apache.org commented on HIVE-2035:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/935/
-----------------------------------------------------------

Review request for hive.


Summary
-------

For a table stored as RCFile, intermediate results are sometimes merged if 
those files are below a certain threshold. For RCFiles, we can do a block level 
merge that does not deserialize the blocks and is more efficient. This patch 
leverages the existing code used to merge for ALTER TABLE ... CONCATENATE.


This addresses bug HIVE-2035.
    https://issues.apache.org/jira/browse/HIVE-2035


Diffs
-----

  trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 1134415 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java 1134415 
  
trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/BlockMergeTask.java 
1134415 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/MergeWork.java 
1134415 
  
trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/RCFileBlockMergeRecordReader.java
 1134415 
  
trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/RCFileKeyBufferWrapper.java
 1134415 
  
trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/RCFileMergeMapper.java
 1134415 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRFileSink1.java 
1134415 
  
trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ConditionalResolverMergeFiles.java
 1134415 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapredWork.java 1134415 
  trunk/ql/src/test/queries/clientpositive/rcfile_createas1.q PRE-CREATION 
  trunk/ql/src/test/queries/clientpositive/rcfile_insert.q PRE-CREATION 
  trunk/ql/src/test/queries/clientpositive/rcfile_merge1.q PRE-CREATION 
  trunk/ql/src/test/queries/clientpositive/rcfile_merge2.q PRE-CREATION 
  trunk/ql/src/test/queries/clientpositive/rcfile_merge3.q PRE-CREATION 
  trunk/ql/src/test/queries/clientpositive/rcfile_merge4.q PRE-CREATION 
  trunk/ql/src/test/results/clientpositive/rcfile_createas1.q.out PRE-CREATION 
  trunk/ql/src/test/results/clientpositive/rcfile_insert.q.out PRE-CREATION 
  trunk/ql/src/test/results/clientpositive/rcfile_merge1.q.out PRE-CREATION 
  trunk/ql/src/test/results/clientpositive/rcfile_merge2.q.out PRE-CREATION 
  trunk/ql/src/test/results/clientpositive/rcfile_merge3.q.out PRE-CREATION 
  trunk/ql/src/test/results/clientpositive/rcfile_merge4.q.out PRE-CREATION 

Diff: https://reviews.apache.org/r/935/diff


Testing
-------


Thanks,

Franklin



> Use block-level merge for RCFile if merging intermediate results are needed
> ---------------------------------------------------------------------------
>
>                 Key: HIVE-2035
>                 URL: https://issues.apache.org/jira/browse/HIVE-2035
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Ning Zhang
>            Assignee: Franklin Hu
>         Attachments: hive-2035.1.patch
>
>
> Currently if hive.merge.mapredfiles and/or hive.merge.mapfile is set to true 
> the intermediate data could be merged using an additional MapReduce job. This 
> could be quite expensive if the data size is large. With HIVE-1950, merging 
> can be done in the RCFile block level so that it bypasses the 
> (de-)compression, (de-)serialization phases. This could improve the merge 
> process significantly. 
> This JIRA should handle the case where the input table is not stored in 
> RCFile, but the destination table is (which requires the intermediate data 
> should be stored in the same format as the destination table). 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to