[
https://issues.apache.org/jira/browse/MAPREDUCE-3952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13221679#comment-13221679
]
Bhallamudi Venkata Siva Kamesh commented on MAPREDUCE-3952:
-----------------------------------------------------------
@Zhenxiao
bq. Is it the case that, in MR1, an empty file get a split size of 1, and then
the record reader will emit no records. And in MR2, an empty file get a split
size of 0?
Yes.
In MR1, in CombineFileInputFormat#OneFileInfo, *OneBlockInfo* object has been
created even if the file's size is 0 and this leads to the creation of a file
split of lenght 0. Where as in MR2, we are skipping the creation of this object
and hence no file split(s).
> In MR2, when Total input paths to process == 1,
> CombinefileInputFormat.getSplits() returns 0 split.
> ---------------------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-3952
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-3952
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: mrv2
> Reporter: Zhenxiao Luo
>
> Hive get unexpected result when using MR2(When using MR1, always get expected
> result).
> In MR2, when Total input paths to process == 1,
> CombinefileInputFormat.getSplits() returns 0 split.
> The calling code in Hive, in Hadoop23Shims.java:
> InputSplit[] splits = super.getSplits(job, numSplits);
> this get splits.length == 0.
> In MR1, everything goes fine, the calling code in Hive, in Hadoop20Shims.java:
> CombineFileSplit[] splits = (CombineFileSplit[]) super.getSplits(job,
> numSplits);
> this get splits.length == 1.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira