Support Aggregated Cube Materialization
shangyian opened this issue · comments
When we materialize cubes, we should offer two types of materialization:
- Measures
- Aggregated (i.e., with aggregated metrics)
Measures Cubes
Measures cube materialization supports the use case where users want to arbitrarily assemble metrics, potentially aggregated at different grains.
Agg Cubes
Aggregated cube materialization supports the use case where there is a specific grain of dimensions for the cube that the metrics are aggregated at, with the potential to aggregate further but without the possibility of more granular metrics.
Temporal Info
For Druid cubes the following pieces of temporal information are needed:
- Primary timestamp column
- Temporal partition column (only needed for
INCREMENTAL_TIME
loads), with a timestamp format
In some cases, the event timestamp column and the time unit partition column may be the same column. For example, an INCREMENTAL_TIME
materialization could have a single event_date
partition, which is also serves as the primary timestamp column, with format yyyyMMdd
. However, it is also possible for the cube to have an event_ts
column set as the primary timestamp, with event_date
as its partition.