[
https://issues.apache.org/jira/browse/HADOOP-1120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Runping Qi updated HADOOP-1120:
-------------------------------
Status: Patch Available (was: Open)
> 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.