Class StatsStream
- java.lang.Object
-
- org.apache.solr.client.solrj.io.stream.TupleStream
-
- org.apache.solr.client.solrj.io.stream.StatsStream
-
- All Implemented Interfaces:
Closeable
,Serializable
,AutoCloseable
,Expressible
,ParallelMetricsRollup
,MapSerializable
,MapWriter
,NavigableObject
public class StatsStream extends TupleStream implements Expressible, ParallelMetricsRollup
- Since:
- 6.6.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
TupleStream.IgnoreException
-
Nested classes/interfaces inherited from interface org.apache.solr.common.MapWriter
MapWriter.EntryWriter
-
-
Field Summary
Fields Modifier and Type Field Description protected SolrClientCache
cache
protected CloudSolrClient
cloudSolrClient
protected TupleStream
parallelizedStream
-
Constructor Summary
Constructors Constructor Description StatsStream(String zkHost, String collection, SolrParams params, Metric[] metrics)
StatsStream(StreamExpression expression, StreamFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<TupleStream>
children()
void
close()
String
getCollection()
int
getCost()
protected Map<String,String>
getRollupSelectFields(Metric[] rollupMetrics)
TupleStream
getSortedRollupStream(ParallelListStream plist, Metric[] rollupMetrics)
Get the rollup for the parallelized streams that is sorted based on the original (non-parallel) sort order.StreamComparator
getStreamSort()
void
open()
TupleStream[]
parallelize(List<String> partitions)
Given a list of collections, return an array of TupleStream for each partition.Tuple
read()
void
setStreamContext(StreamContext context)
Explanation
toExplanation(StreamFactory factory)
Returns an explanation about the stream objectStreamExpressionParameter
toExpression(StreamFactory factory)
-
Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
getShards, getShards, getStreamNodeId, writeMap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.common.NavigableObject
_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _getStr, _getStr, _size
-
Methods inherited from interface org.apache.solr.client.solrj.io.stream.ParallelMetricsRollup
getRollupMetrics, openParallelStream
-
-
-
-
Field Detail
-
cache
protected transient SolrClientCache cache
-
cloudSolrClient
protected transient CloudSolrClient cloudSolrClient
-
parallelizedStream
protected transient TupleStream parallelizedStream
-
-
Constructor Detail
-
StatsStream
public StatsStream(String zkHost, String collection, SolrParams params, Metric[] metrics) throws IOException
- Throws:
IOException
-
StatsStream
public StatsStream(StreamExpression expression, StreamFactory factory) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getCollection
public String getCollection()
-
toExpression
public StreamExpressionParameter toExpression(StreamFactory factory) throws IOException
- Specified by:
toExpression
in interfaceExpressible
- 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 interfaceExpressible
- Specified by:
toExplanation
in classTupleStream
- 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
-
setStreamContext
public void setStreamContext(StreamContext context)
- Specified by:
setStreamContext
in classTupleStream
-
children
public List<TupleStream> children()
- Specified by:
children
in classTupleStream
-
open
public void open() throws IOException
- Specified by:
open
in classTupleStream
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classTupleStream
- Throws:
IOException
-
read
public Tuple read() throws IOException
- Specified by:
read
in classTupleStream
- Throws:
IOException
-
getCost
public int getCost()
- Overrides:
getCost
in classTupleStream
-
getStreamSort
public StreamComparator getStreamSort()
- Specified by:
getStreamSort
in classTupleStream
-
parallelize
public TupleStream[] parallelize(List<String> partitions) throws IOException
Description copied from interface:ParallelMetricsRollup
Given a list of collections, return an array of TupleStream for each partition.- Specified by:
parallelize
in interfaceParallelMetricsRollup
- Parameters:
partitions
- A list of collections to parallelize metrics computation across.- Returns:
- An array of TupleStream for each partition requested.
- Throws:
IOException
- if an error occurs while constructing the underlying TupleStream for a partition.
-
getSortedRollupStream
public TupleStream getSortedRollupStream(ParallelListStream plist, Metric[] rollupMetrics) throws IOException
Description copied from interface:ParallelMetricsRollup
Get the rollup for the parallelized streams that is sorted based on the original (non-parallel) sort order.- Specified by:
getSortedRollupStream
in interfaceParallelMetricsRollup
- Parameters:
plist
- A parallel list stream to fetch metrics from each partition concurrentlyrollupMetrics
- An array of metrics to rollup- Returns:
- A rollup over parallelized streams that provide metrics; this is typically a SortStream.
- Throws:
IOException
- if an error occurs while reading from the sorted stream
-
-