public interface ParallelMetricsRollup
Modifier and Type | Method and Description |
---|---|
default Optional<Metric[]> |
getRollupMetrics(Metric[] metrics)
Either an array of metrics that can be parallelized and rolled up or empty.
|
TupleStream |
getSortedRollupStream(ParallelListStream plistStream,
Metric[] rollupMetrics)
Get the rollup for the parallelized streams that is sorted based on the original (non-parallel) sort order.
|
default Optional<TupleStream> |
openParallelStream(StreamContext context,
List<String> partitions,
Metric[] metrics)
Given a list of partitions (collections), open a select stream that projects the dimensions and
metrics produced by rolling up over a parallelized group of streams.
|
TupleStream[] |
parallelize(List<String> partitions)
Given a list of collections, return an array of TupleStream for each partition.
|
TupleStream[] parallelize(List<String> partitions) throws IOException
partitions
- A list of collections to parallelize metrics computation across.IOException
- if an error occurs while constructing the underlying TupleStream for a partition.TupleStream getSortedRollupStream(ParallelListStream plistStream, Metric[] rollupMetrics) throws IOException
plistStream
- A parallel list stream to fetch metrics from each partition concurrentlyrollupMetrics
- An array of metrics to rollupIOException
- if an error occurs while reading from the sorted streamdefault Optional<TupleStream> openParallelStream(StreamContext context, List<String> partitions, Metric[] metrics) throws IOException
context
- The current streaming expression contextpartitions
- A list of collections to parallelize metrics computation across.metrics
- A list of metrics to rollup.IOException
- if an error occurs reading tuples from the parallelized streamsdefault Optional<Metric[]> getRollupMetrics(Metric[] metrics)
metrics
- The list of metrics that we want to parallelize.Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.