Note that there are some explanatory texts on larger screens.

plurals
  1. POHadoop Cascading - create flow with one source, two sinks
    primarykey
    data
    text
    <p>I am using Cascading 2 to create Hadoop jobs and am trying to create a flow that starts with a single source. After a couple of functions are applied to the data I need to split the flow so that this data is used to create two separate reports (in two separate sinks).</p> <pre><code> //SOURCE Scheme sourceScheme = new TextLine( new Fields( "line" ) ); Tap source = new Hfs( sourceScheme, input ); //REPORT1 SINK Scheme report1SinkScheme = new TextDelimited( Fields.ALL, ",","\"" ); Tap report1Sink = new Hfs( report1SinkScheme, output1, SinkMode.REPLACE ); //REPORT2 SINK Scheme report2SinkScheme = new TextDelimited( Fields.ALL, ",","\"" ); Tap report2Sink = new Hfs( report2SinkScheme, output2, SinkMode.REPLACE ); //INITIAL FUNCTIONS Pipe firstPipe = new Pipe("firstPipe"); firstPipe = new Each(firstPipe, new Fields("line"), functionA); firstPipe = new Each(firstPipe, functionB, Fields.ALL); //REPORT1 FUNCTION report1Pipe = new Each(firstPipe, Fields.ALL, function1, Fields.RESULTS); //REPORT2 FUNCTION report2Pipe = new Each(firstPipe, Fields.ALL, function2, Fields.RESULTS); //CONNECT FLOW PARTS FlowDef flowDef = new FlowDef() .setName("report-flow") .addSource(firstPipe, source) .addSink(report1Pipe, report1Sink) .addSink(report2Pipe, report2Sink); new HadoopFlowConnector( properties ).connect( flowDef ).complete(); </code></pre> <p>Currently this is giving me the error "java.lang.IllegalArgumentException: cannot add duplicate sink: firstPipe" but even after messing around with it for a while I get a variety of other issues to do with the flow set up. </p> <p>Is it possible for someone to explain how to construct a flow of this form (one source, two sinks)? Do I need to create a Cascade instead? Or do I need an intermediate sink to hold the data before I split?</p> <p>Please help!</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload