You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Runping Qi (JIRA)" <ji...@apache.org> on 2007/03/15 01:11:09 UTC
[jira] Assigned: (HADOOP-1120) Contribute some code helping
implement map/reduce apps for joining data from multiple sources
[ https://issues.apache.org/jira/browse/HADOOP-1120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Runping Qi reassigned HADOOP-1120:
----------------------------------
Assignee: Runping Qi
> Contribute some code helping implement map/reduce apps for joining data from multiple sources
> ---------------------------------------------------------------------------------------------
>
> Key: HADOOP-1120
> URL: https://issues.apache.org/jira/browse/HADOOP-1120
> Project: Hadoop
> Issue Type: New Feature
> Components: contrib/streaming
> Reporter: Runping Qi
> Assigned To: Runping Qi
> Attachments: data_join.patch
>
>
> With the current Hadoop, it is a bit hard for the user to implement data joining apps.
> HADOOP-475/485 attempt to provide some support for data joining jobs, but it seems to be had to implement.
> This Jira rather calls for a application level support.
> The idea is to provide a generic map/reduce classes implementing data join jobs,
> and allows the user to extend those classes to add their special logic.
> In particular, the user needs to define a mapper class
> that extends DataJoinMapperBase class to implement methods for the
> following functionalities:
> 1. Compute the source tag of input values
> 2. Compute the map output value object
> 3. Compute the map output key object
>
> The source tag will be used by the reducer to determine from which source
> (which table in SQL terminology) a value comes. Computing the map output
> value object amounts to performing projecting/filtering work in a SQL
> statement (through the select/where clauses). Computing the map output key
> amounts to choosing the join key. This class provides the appropriate plugin
> points for the user defined subclasses to implement the appropriate logic.
> The the user needs to define a reducer class
> that extends DataJoinReduceBase class to implement the following:
> protected abstract TaggedMapOutput combine(Object[] tags, Object[] values);
>
> The above method is expected to produce one output value from an array of
> records of different sources. The user code can also perform filtering here.
> It can return null if it decides to the records do not meet certain conditions.
> That is pretty much the user need to do in order to create a map/reduce job to join data
> from different sources.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.