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

Chris Douglas commented on HADOOP-4927:
---------------------------------------

bq. this feature is a sort of generic across the different output formats and 
having the framework support this would be useful.

True. Still, while it is generic functionality, it's neither difficult nor 
inefficient in user-space. Absent either of the latter criteria, putting it 
into the framework seems premature, at least. If this should be abstracted, 
wouldn't it make sense as an OutputFormat in lib? That seems no less brittle 
than using a framework configuration variable and I've difficulty seeing this 
setting scoped to the whole cluster...

bq. I am okay with the current patch in terms of the behavior and the framework 
support it adds for lazy creation of the destination output "something" (where 
"something" is easy to explain when interpreted as a file).

Unless there's a non-FileOutputFormat use case that's also easy to explain, it 
remains unclear that this is the correct abstraction. Creating a setting on 
FileOutputFormat seems like a good idea. Whether that's implemented in 
FileOutputFormat only or via an OuputFormat wrapper class depends on how 
generally applicable the abstraction is. Since its motivation is expensive 
clutter in HDFS, it's not obvious to me that the latter is justified, let alone 
tight integration with the framework.

> 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.

Reply via email to