public final class Cube extends Object implements ICube, io.datakernel.ot.OTState<CubeDiff>, Initializable<Cube>, io.datakernel.eventloop.jmx.EventloopJmxMBeanEx
| Modifier and Type | Class and Description |
|---|---|
static class |
Cube.AggregationConfig |
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_OVERLAPPING_CHUNKS_THRESHOLD |
| Modifier and Type | Method and Description |
|---|---|
Cube |
addAggregation(Cube.AggregationConfig config) |
void |
addComputedMeasure(String measureId,
ComputedMeasure computedMeasure) |
void |
addDimension(String dimensionId,
FieldType type) |
void |
addMeasure(String measureId,
Measure measure) |
void |
addRelation(String child,
String parent) |
void |
apply(CubeDiff op) |
io.datakernel.promise.Promise<CubeDiff> |
consolidate(Function<Aggregation,io.datakernel.promise.Promise<AggregationDiff>> strategy) |
<T> io.datakernel.datastream.StreamConsumerWithResult<T,CubeDiff> |
consume(Class<T> inputClass) |
<T> io.datakernel.datastream.StreamConsumerWithResult<T,CubeDiff> |
consume(Class<T> inputClass,
AggregationPredicate predicate) |
<T> io.datakernel.datastream.StreamConsumerWithResult<T,CubeDiff> |
consume(Class<T> inputClass,
Map<String,String> dimensionFields,
Map<String,String> measureFields,
AggregationPredicate dataPredicate)
Provides a
StreamConsumer for streaming data to this cube. |
boolean |
containsExcessiveNumberOfOverlappingChunks() |
static Cube |
create(@NotNull io.datakernel.eventloop.Eventloop eventloop,
@NotNull Executor executor,
@NotNull io.datakernel.codegen.DefiningClassLoader classLoader,
@NotNull AggregationChunkStorage aggregationChunkStorage) |
Aggregation |
getAggregation(String aggregationId) |
Set<String> |
getAggregationIds() |
int |
getAggregationsChunkSize() |
boolean |
getAggregationsIgnoreChunkReadingExceptions() |
int |
getAggregationsMaxChunksToConsolidate() |
int |
getAggregationsSorterItemsInMemory() |
AggregationStats |
getAggregationStats() |
Set<Object> |
getAllChunks() |
@NotNull Class<?> |
getAttributeInternalType(String attribute) |
@NotNull Type |
getAttributeType(String attribute) |
Map<String,Type> |
getAttributeTypes() |
io.datakernel.codegen.DefiningClassLoader |
getClassLoader() |
Map<String,List<AggregationState.ConsolidationDebugInfo>> |
getConsolidationDebugInfo() |
@NotNull io.datakernel.eventloop.Eventloop |
getEventloop() |
Duration |
getMaxIncrementalReloadPeriod() |
int |
getMaxOverlappingChunksToProcessLogs() |
@NotNull Class<?> |
getMeasureInternalType(String field) |
@NotNull Type |
getMeasureType(String field) |
Map<String,Type> |
getMeasureTypes() |
long |
getQueryErrors() |
Throwable |
getQueryLastError() |
io.datakernel.eventloop.jmx.ValueStats |
getQueryTimes() |
void |
init() |
<T> LogDataConsumer<T,CubeDiff> |
logStreamConsumer(Class<T> inputClass) |
<T> LogDataConsumer<T,CubeDiff> |
logStreamConsumer(Class<T> inputClass,
AggregationPredicate predicate) |
<T> LogDataConsumer<T,CubeDiff> |
logStreamConsumer(Class<T> inputClass,
Map<String,String> dimensionFields,
Map<String,String> measureFields) |
<T> LogDataConsumer<T,CubeDiff> |
logStreamConsumer(Class<T> inputClass,
Map<String,String> dimensionFields,
Map<String,String> measureFields,
AggregationPredicate predicate) |
io.datakernel.promise.Promise<QueryResult> |
query(CubeQuery cubeQuery) |
<T> io.datakernel.datastream.StreamSupplier<T> |
queryRawStream(List<String> dimensions,
List<String> storedMeasures,
AggregationPredicate where,
Class<T> resultClass)
Returns a
StreamSupplier of the records retrieved from cube for the specified query. |
<T> io.datakernel.datastream.StreamSupplier<T> |
queryRawStream(List<String> dimensions,
List<String> storedMeasures,
AggregationPredicate where,
Class<T> resultClass,
io.datakernel.codegen.DefiningClassLoader queryClassLoader) |
void |
setAggregationsChunkSize(int aggregationsChunkSize) |
void |
setAggregationsIgnoreChunkReadingExceptions(boolean aggregationsIgnoreChunkReadingExceptions) |
void |
setAggregationsMaxChunksToConsolidate(int aggregationsMaxChunksToConsolidate) |
void |
setAggregationsSorterItemsInMemory(int aggregationsSorterItemsInMemory) |
void |
setMaxIncrementalReloadPeriod(Duration maxIncrementalReloadPeriod) |
void |
setMaxOverlappingChunksToProcessLogs(int maxOverlappingChunksToProcessLogs) |
String |
toString() |
Cube |
withAggregation(Cube.AggregationConfig aggregationConfig) |
Cube |
withAggregationsChunkSize(int aggregationsChunkSize) |
Cube |
withAggregationsIgnoreChunkReadingExceptions(boolean aggregationsIgnoreChunkReadingExceptions) |
Cube |
withAggregationsMaxChunksToConsolidate(int aggregationsMaxChunksToConsolidate) |
Cube |
withAggregationsReducerBufferSize(int aggregationsReducerBufferSize) |
Cube |
withAggregationsSorterItemsInMemory(int aggregationsSorterItemsInMemory) |
Cube |
withAttribute(String attribute,
AttributeResolver resolver) |
Cube |
withClassLoaderCache(CubeClassLoaderCache classLoaderCache) |
Cube |
withComputedMeasure(String measureId,
ComputedMeasure computedMeasure) |
Cube |
withDimension(String dimensionId,
FieldType type) |
Cube |
withMaxIncrementalReloadPeriod(Duration maxIncrementalReloadPeriod) |
Cube |
withMaxOverlappingChunksToProcessLogs(int maxOverlappingChunksToProcessLogs) |
Cube |
withMeasure(String measureId,
Measure measure) |
Cube |
withRelation(String child,
String parent) |
Cube |
withTemporarySortDir(Path temporarySortDir) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitinitializepublic static final int DEFAULT_OVERLAPPING_CHUNKS_THRESHOLD
public static Cube create(@NotNull @NotNull io.datakernel.eventloop.Eventloop eventloop, @NotNull @NotNull Executor executor, @NotNull @NotNull io.datakernel.codegen.DefiningClassLoader classLoader, @NotNull @NotNull AggregationChunkStorage aggregationChunkStorage)
public Cube withAttribute(String attribute, AttributeResolver resolver)
public Cube withClassLoaderCache(CubeClassLoaderCache classLoaderCache)
public Cube withComputedMeasure(String measureId, ComputedMeasure computedMeasure)
public Cube withAggregation(Cube.AggregationConfig aggregationConfig)
public void addComputedMeasure(String measureId, ComputedMeasure computedMeasure)
public Cube addAggregation(Cube.AggregationConfig config)
@NotNull public @NotNull Class<?> getAttributeInternalType(String attribute)
public Map<String,Type> getAttributeTypes()
getAttributeTypes in interface ICubepublic Map<String,Type> getMeasureTypes()
getMeasureTypes in interface ICubepublic Aggregation getAggregation(String aggregationId)
public void init()
init in interface io.datakernel.ot.OTState<CubeDiff>public void apply(CubeDiff op)
apply in interface io.datakernel.ot.OTState<CubeDiff>public <T> LogDataConsumer<T,CubeDiff> logStreamConsumer(Class<T> inputClass)
public <T> LogDataConsumer<T,CubeDiff> logStreamConsumer(Class<T> inputClass, AggregationPredicate predicate)
public <T> LogDataConsumer<T,CubeDiff> logStreamConsumer(Class<T> inputClass, Map<String,String> dimensionFields, Map<String,String> measureFields)
public <T> LogDataConsumer<T,CubeDiff> logStreamConsumer(Class<T> inputClass, Map<String,String> dimensionFields, Map<String,String> measureFields, AggregationPredicate predicate)
public <T> io.datakernel.datastream.StreamConsumerWithResult<T,CubeDiff> consume(Class<T> inputClass)
public <T> io.datakernel.datastream.StreamConsumerWithResult<T,CubeDiff> consume(Class<T> inputClass, AggregationPredicate predicate)
public <T> io.datakernel.datastream.StreamConsumerWithResult<T,CubeDiff> consume(Class<T> inputClass, Map<String,String> dimensionFields, Map<String,String> measureFields, AggregationPredicate dataPredicate)
StreamConsumer for streaming data to this cube.
The returned StreamConsumer writes to Aggregation's chosen using the specified dimensions, measures and input class.T - data records typeinputClass - class of input recordspublic <T> io.datakernel.datastream.StreamSupplier<T> queryRawStream(List<String> dimensions, List<String> storedMeasures, AggregationPredicate where, Class<T> resultClass) throws QueryException
StreamSupplier of the records retrieved from cube for the specified query.T - type of output objectsresultClass - class of output recordsQueryExceptionpublic <T> io.datakernel.datastream.StreamSupplier<T> queryRawStream(List<String> dimensions, List<String> storedMeasures, AggregationPredicate where, Class<T> resultClass, io.datakernel.codegen.DefiningClassLoader queryClassLoader) throws QueryException
QueryExceptionpublic boolean containsExcessiveNumberOfOverlappingChunks()
public io.datakernel.promise.Promise<CubeDiff> consolidate(Function<Aggregation,io.datakernel.promise.Promise<AggregationDiff>> strategy)
public Map<String,List<AggregationState.ConsolidationDebugInfo>> getConsolidationDebugInfo()
public io.datakernel.codegen.DefiningClassLoader getClassLoader()
public io.datakernel.promise.Promise<QueryResult> query(CubeQuery cubeQuery) throws QueryException
query in interface ICubeQueryExceptionpublic int getAggregationsChunkSize()
public void setAggregationsChunkSize(int aggregationsChunkSize)
public Cube withAggregationsChunkSize(int aggregationsChunkSize)
public Cube withAggregationsReducerBufferSize(int aggregationsReducerBufferSize)
public int getAggregationsSorterItemsInMemory()
public void setAggregationsSorterItemsInMemory(int aggregationsSorterItemsInMemory)
public Cube withAggregationsSorterItemsInMemory(int aggregationsSorterItemsInMemory)
public int getAggregationsMaxChunksToConsolidate()
public void setAggregationsMaxChunksToConsolidate(int aggregationsMaxChunksToConsolidate)
public Cube withAggregationsMaxChunksToConsolidate(int aggregationsMaxChunksToConsolidate)
public boolean getAggregationsIgnoreChunkReadingExceptions()
public void setAggregationsIgnoreChunkReadingExceptions(boolean aggregationsIgnoreChunkReadingExceptions)
public Cube withAggregationsIgnoreChunkReadingExceptions(boolean aggregationsIgnoreChunkReadingExceptions)
public int getMaxOverlappingChunksToProcessLogs()
public void setMaxOverlappingChunksToProcessLogs(int maxOverlappingChunksToProcessLogs)
public Cube withMaxOverlappingChunksToProcessLogs(int maxOverlappingChunksToProcessLogs)
public Duration getMaxIncrementalReloadPeriod()
public void setMaxIncrementalReloadPeriod(Duration maxIncrementalReloadPeriod)
public Cube withMaxIncrementalReloadPeriod(Duration maxIncrementalReloadPeriod)
public io.datakernel.eventloop.jmx.ValueStats getQueryTimes()
public long getQueryErrors()
public Throwable getQueryLastError()
public AggregationStats getAggregationStats()
@NotNull public @NotNull io.datakernel.eventloop.Eventloop getEventloop()
getEventloop in interface io.datakernel.eventloop.jmx.EventloopJmxMBeanCopyright © 2019. All rights reserved.