[
https://issues.apache.org/jira/browse/HADOOP-5979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717809#action_12717809
]
Milind Bhandarkar commented on HADOOP-5979:
-------------------------------------------
It would be valuable to have a non-java streaming partitioner. It should be
executed once per map task, and should take as input (through stdin), the
text-encoded key value pairs (one per line, separated by field separator), and
output on stdout a number (again, text-encoded) for each key value pair.
Number of partitions, i.e. number of reducers should already be available to
this streaming partitioner as the environment variable mapred_reduce_tasks. So,
no need to pass it in each line.
Partitioner need not be an "advanced" feature. Think about a parallel bucketing
operation, where number of buckets is predetermined, so the mapper makes a
decision where each value should go. In this case, the key is a partition ID,
and value is the record to be bucketed. HashBased partitioner of course does
not work in this case. But a streaming partitioner, such as 'cut -f1' is what
is needed.
> Streaming partitioner should allow command, not just Java class
> ---------------------------------------------------------------
>
> Key: HADOOP-5979
> URL: https://issues.apache.org/jira/browse/HADOOP-5979
> Project: Hadoop Core
> Issue Type: Improvement
> Components: contrib/streaming
> Reporter: Klaas Bosteels
>
> Since HADOOP-4842 got committed, Streaming allows both commands and Java
> classes to be specified as mapper, reducer, and combiner, but the
> {{-partitioner}} option is still limited to Java classes only. Allowing
> commands to be specified as partitioner as well would greatly improve the
> flexibility of Streaming programs.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.