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,org.apache.solr.common.MapSerializable,org.apache.solr.common.MapWriter,org.apache.solr.common.NavigableObject,org.noggit.JSONWriter.Writable
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.- Since:
- 5.1.0
- 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
-
Nested classes/interfaces inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
TupleStream.IgnoreException
-
-
Field Summary
-
Fields inherited from class org.apache.solr.client.solrj.io.stream.CloudSolrStream
collection, comp, eofTuples, fieldMappings, params, solrStreams, streamContext, tuples, zkHost
-
-
Constructor Summary
Constructors Constructor Description ParallelStream(String zkHost, String collection, String expressionString, int workers, StreamComparator comp)ParallelStream(String zkHost, String collection, TupleStream tupleStream, int workers, StreamComparator comp)ParallelStream(StreamExpression expression, StreamFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<TupleStream>children()protected voidconstructStreams()Tupleread()voidsetStreamContext(StreamContext streamContext)voidsetStreamFactory(StreamFactory streamFactory)ExplanationtoExplanation(StreamFactory factory)Returns an explanation about the stream objectStreamExpressiontoExpression(StreamFactory factory)-
Methods inherited from class org.apache.solr.client.solrj.io.stream.CloudSolrStream
_read, adjustParams, close, getEofTuples, getSlices, getStreamSort, open, setFieldMappings, setTrace
-
Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
getCost, getShards, getShards, getStreamNodeId, writeMap
-
-
-
-
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:
toExpressionin interfaceExpressible- Overrides:
toExpressionin classCloudSolrStream- Throws:
IOException
-
toExplanation
public Explanation toExplanation(StreamFactory factory) throws IOException
Description copied from interface:ExpressibleReturns an explanation about the stream object- Specified by:
toExplanationin interfaceExpressible- Overrides:
toExplanationin classCloudSolrStream- 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:
childrenin classCloudSolrStream
-
read
public Tuple read() throws IOException
- Overrides:
readin classCloudSolrStream- Throws:
IOException
-
setStreamContext
public void setStreamContext(StreamContext streamContext)
- Overrides:
setStreamContextin classCloudSolrStream
-
constructStreams
protected void constructStreams() throws IOException- Overrides:
constructStreamsin classCloudSolrStream- Throws:
IOException
-
-