com.intel.hadoop.graphbuilder.job
Class AbstractEdgeTransformJob<VidType extends org.apache.hadoop.io.WritableComparable<VidType>,EdgeData extends org.apache.hadoop.io.Writable,TransformedEdata extends org.apache.hadoop.io.Writable>

java.lang.Object
  extended by com.intel.hadoop.graphbuilder.job.AbstractEdgeTransformJob<VidType,EdgeData,TransformedEdata>
Type Parameters:
VidType -
VertexData -
EdgeData -

public abstract class AbstractEdgeTransformJob<VidType extends org.apache.hadoop.io.WritableComparable<VidType>,EdgeData extends org.apache.hadoop.io.Writable,TransformedEdata extends org.apache.hadoop.io.Writable>
extends java.lang.Object

An abstract wrapper class for running the Edge Transformation Job, see EdgeTransformMR. An example to use this class to transform word count into word frequency is illustrated in EdgeTransformJobTest.

User will need to override 2 functions for type resolving: vidClass() , and edataClass(). User will also need to implement their reduce and apply Functions, and override reduceFunction(), and applyFunction().

Additional options can be added into the jobConf by calling addUserOpt. Functionals can get option using configure(JobConf).

Additional options can be added into the jobConf by calling addUserOpt. Functionals can get option using configure(JobConf).

Input directory: list of edge data Output directory: list of transformed edge data

See Also:
EdgeTransformMR.SOURCE, EdgeTransformMR.TARGET, EdgeTransformMR, Functional, EdgeTransformJobTest

Constructor Summary
AbstractEdgeTransformJob()
           
 
Method Summary
 void addUserOpt(java.lang.String key, java.lang.String value)
           
abstract  Functional<EdgeData,TransformedEdata> applyFunction()
           
abstract  java.lang.Class edataClass()
           
 java.lang.Class graphParserClass()
           
abstract  Functional<EdgeData,TransformedEdata> reduceFunction()
           
 boolean run(boolean reduceEndPoint, java.lang.String input, java.lang.String output)
          Running the transformation by grouping edges based on the reduceEndPoint which is either EdgeTransformMR.SOURCE or EdgeTransFormMR.TARGET.
abstract  java.lang.Class vidClass()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractEdgeTransformJob

public AbstractEdgeTransformJob()
Method Detail

vidClass

public abstract java.lang.Class vidClass()
Returns:
the class of vertex id type

edataClass

public abstract java.lang.Class edataClass()
Returns:
the class of edge data type

reduceFunction

public abstract Functional<EdgeData,TransformedEdata> reduceFunction()

applyFunction

public abstract Functional<EdgeData,TransformedEdata> applyFunction()

graphParserClass

public java.lang.Class graphParserClass()
Returns:
the class of graph parser type

addUserOpt

public void addUserOpt(java.lang.String key,
                       java.lang.String value)

run

public boolean run(boolean reduceEndPoint,
                   java.lang.String input,
                   java.lang.String output)
            throws javassist.NotFoundException,
                   java.lang.InstantiationException,
                   java.lang.IllegalAccessException,
                   javassist.CannotCompileException
Running the transformation by grouping edges based on the reduceEndPoint which is either EdgeTransformMR.SOURCE or EdgeTransFormMR.TARGET.

Parameters:
reduceEndPoint -
input -
output -
Returns:
Throws:
javassist.NotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
javassist.CannotCompileException