Cube Planner
What is Cube Planner
OLAP solution trades off online query speed with offline Cube build cost (compute resource to build Cube and storage resource to save the Cube data). Resource efficiency is the most important competency of OLAP engine. To be resource efficient, It is critical to just pre-build the most valuable cuboids.
Cube Planner makes Apache Kylin to be more resource efficient. It intelligently build a partial Cube to minimize the cost of building a Cube and at the same time maximize the benefit of serving end user queries, then learn patterns from queries at runtime and dynamically recommend cuboids accordingly.
Read more at eBay tech blog
Prerequisites
To enable Dashboard on WebUI, you need to set kylin.cube.cubeplanner.enabled=true
and other properties in kylin.properties
kylin.cube.cubeplanner.enabled=true
kylin.server.query-metrics2-enabled=true
kylin.metrics.reporter-query-enabled=true
kylin.metrics.reporter-job-enabled=true
kylin.metrics.monitor-enabled=true
How to use it
Cube planner is divided into two phase. Phase 1 can recommend cuboid list based on estimated cuboid size before building the Cube, while phase 2 recommends cuboid list for existing Cube according to query statistics. Cube should be online on production for a while (like 3 months) before optimizing it. So that Kylin platform collects enough real queries from end user and use them to optimize the Cube.*
Cube planner phase 1 is supported in kylin 4.0, please check document: How to use Cube Planner in Kylin4.0
For cube planner phase 2, kylin 4.0 only partially supports it. Please check document: How to update cuboid list for a cube in Kylin4.0