org.apache.solr.client.solrj.io.stream

## Class ParallelStream

- java.lang.Object
- - org.apache.solr.client.solrj.io.stream.TupleStream
  - - org.apache.solr.client.solrj.io.stream.CloudSolrStream
    - - org.apache.solr.client.solrj.io.stream.ParallelStream

All Implemented Interfaces:
  Serializable, ExpressibleStream

    public class ParallelStream
    extends CloudSolrStream
    implements ExpressibleStream

The ParallelStream decorates a TupleStream implementation and pushes it to N workers for parallel execution. Workers are chosen from a SolrCloud collection. Tuples that are streamed back from the workers are ordered by a Comparator.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.solr.client.solrj.io.stream.CloudSolrStream

`CloudSolrStream.StreamOpener, CloudSolrStream.TupleWrapper`

### Field Summary

### Fields inherited from class org.apache.solr.client.solrj.io.stream.CloudSolrStream

`cache, cloudSolrClient, collection, comp, eofTuples, params, solrStreams, streamContext, tuples, zkHost`

### Constructor Summary

Constructors
Constructor and Description
`ParallelStream(StreamExpression expression, StreamFactory factory)`
`ParallelStream(String zkHost, String collection, String expressionString, int workers, Comparator<Tuple> comp)`
`ParallelStream(String zkHost, String collection, TupleStream tupleStream, int workers, Comparator<Tuple> comp)`

### Method Summary

Methods
`List<TupleStream>` `children()`
`protected void` `constructStreams()`
`boolean` `getObjectSerialize()`
`Tuple` `read()`
`void` `setObjectSerialize(boolean objectSerialize)`
`void` `setStreamContext(StreamContext streamContext)`
`StreamExpression` `toExpression(StreamFactory factory)`

### Methods inherited from class org.apache.solr.client.solrj.io.stream.CloudSolrStream

`_read, close, getEofTuples, open, setFieldMappings, setTrace`

### Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream

`getCost`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ParallelStream

    public ParallelStream(String zkHost,
                  String collection,
                  TupleStream tupleStream,
                  int workers,
                  Comparator<Tuple> comp)
                   throws IOException

Throws:
  `IOException`

#### ParallelStream

    public ParallelStream(String zkHost,
                  String collection,
                  String expressionString,
                  int workers,
                  Comparator<Tuple> comp)
                   throws IOException

Throws:
  `IOException`

#### ParallelStream

    public ParallelStream(StreamExpression expression,
                  StreamFactory factory)
                   throws IOException

Throws:
  `IOException`

### Method Detail

#### toExpression

    public StreamExpression toExpression(StreamFactory factory)
                                  throws IOException

Specified by:
  `toExpression` in interface `ExpressibleStream`
Overrides:
  `toExpression` in class `CloudSolrStream`
Throws:
  `IOException`

#### children

    public List<TupleStream> children()

Overrides:
  `children` in class `CloudSolrStream`

#### read

    public Tuple read()
               throws IOException

Overrides:
  `read` in class `CloudSolrStream`
Throws:
  `IOException`

#### setStreamContext

    public void setStreamContext(StreamContext streamContext)

Overrides:
  `setStreamContext` in class `CloudSolrStream`

#### constructStreams

    protected void constructStreams()
                             throws IOException

Overrides:
  `constructStreams` in class `CloudSolrStream`
Throws:
  `IOException`

#### setObjectSerialize

    public void setObjectSerialize(boolean objectSerialize)

#### getObjectSerialize

    public boolean getObjectSerialize()