hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-4927) Part files on the output filesystem are created irrespective of whether the corresponding task has anything to write there
Date Wed, 04 Feb 2009 18:05:59 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-4927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12670392#action_12670392
] 

Doug Cutting commented on HADOOP-4927:
--------------------------------------

> LazyOutputFormat.set(actualoutputformat.class) and
> job.setOutputFormat(LazyOutputFormat.class)

Right.  That's the two-line penalty of a wrapper.  If we built it into FileInputFormat then
it would only take one line:

FileOutputFormat.setLazyOutput(true);

but it would then also only work for subclasses of FileOutputFormat, rather than any OutputFormat
implementation.  This is a tough call, since most, but not all, OutputFormats do subclass
FileOutputFormat.  I'm leaning towards the wrapper, since, while a bit more complex for users,
it is a cleaner layering, making FileOutputFormat less of a kitchen-sink of features.


> Part files on the output filesystem are created irrespective of whether the corresponding
task has anything to write there
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-4927
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4927
>             Project: Hadoop Core
>          Issue Type: New Feature
>          Components: mapred
>            Reporter: Devaraj Das
>            Assignee: Jothi Padmanabhan
>             Fix For: 0.21.0
>
>         Attachments: hadoop-4927-v1.patch, hadoop-4927-v2.patch, hadoop-4927.patch
>
>
> When OutputFormat.getRecordWriter is invoked, a part file is created on the output filesystem.
But the created RecordWriter is not used until the OutputCollector.collect call is made by
the task (user's code). This results in empty part files even if the OutputCollector.collect
is never invoked by the corresponding tasks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message