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:
    Closeable, Serializable, AutoCloseable, Expressible

      public class ParallelStream
      extends CloudSolrStream
      implements Expressible

  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

      `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, StreamComparator comp)`
    `ParallelStream(String zkHost, String collection, TupleStream tupleStream, int workers, StreamComparator comp)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<TupleStream>` | `children()`
    `protected void` | `constructStreams()`
    `Tuple` | `read()`
    `void` | `setStreamContext(StreamContext streamContext)`
    `void` | `setStreamFactory(StreamFactory streamFactory)`
    `Explanation` | `toExplanation(StreamFactory factory)` Returns an explanation about the stream object
    `StreamExpression` | `toExpression(StreamFactory factory)`

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

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

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

      `getCost, getStreamNodeId, writeStreamClose, writeStreamOpen`

    - ### 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,
                                StreamComparator comp)
                         throws IOException

      Throws:
        `IOException`

    - #### ParallelStream

          public ParallelStream(String zkHost,
                                String collection,
                                String expressionString,
                                int workers,
                                StreamComparator comp)
                         throws IOException

      Throws:
        `IOException`

    - #### ParallelStream

          public ParallelStream(StreamExpression expression,
                                StreamFactory factory)
                         throws IOException

      Throws:
        `IOException`

  - ### Method Detail

    - #### setStreamFactory

          public void setStreamFactory(StreamFactory streamFactory)

    - #### toExpression

          public StreamExpression toExpression(StreamFactory factory)
                                        throws IOException

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

    - #### toExplanation

          public Explanation toExplanation(StreamFactory factory)
                                    throws IOException

      Description copied from interface: `Expressible`
      Returns an explanation about the stream object
      Specified by:
        `toExplanation` in interface `Expressible`
      Overrides:
        `toExplanation` in class `CloudSolrStream`
      Parameters:
        `factory` - Stream factory for this, contains information about the function name
      Returns:
        Explanation about this stream object containing explanations of any child stream objects
      Throws:
        `IOException` - throw on any error

    - #### 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`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.