[ 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