title: Hadoop Cascading - create flow with one source, two sinks
body: <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>