hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-2035) Use block-level merge for RCFile if merging intermediate results are needed
Date Mon, 20 Jun 2011 19:22:49 GMT

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

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


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

(Updated 2011-06-20 19:20:53.263299)


Review request for hive.


Changes
-------

Throw error at compile time for bad rcfile merge input format class rather than at runtime,
remove bad test, stylistic fixes


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 (updated)
-----

  trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 1136090 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java 1136090 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/BlockMergeTask.java 1136090

  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/MergeWork.java 1136090 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/RCFileBlockMergeRecordReader.java
1136090 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/RCFileKeyBufferWrapper.java
1136090 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/RCFileMergeMapper.java 1136090

  trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRFileSink1.java 1136090 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ConditionalResolverMergeFiles.java 1136090

  trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapredWork.java 1136090 
  trunk/ql/src/test/queries/clientpositive/rcfile_createas1.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_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

        

Mime
View raw message