Cube Planner功能通过计算同步Cuboid的构建成本和收益,并结合用户查询的统计数据挑选出更精简、更高效的维度组合,从而减少构建Cube耗费的时间和空间,提高查询效率。
配置开启步骤如下:
一、开启System Cube
首先,在kylin.properties中设置以下参数以开启Metrics功能:
kylin.server.query-metrics2-enabled=true
kylin.metrics.reporter-query-enabled=true
kylin.metrics.reporter-job-enabled=true
kylin.metrics.monitor-enabled=true
在$KYLIN_HOME/bin下运行
./system-cube.sh setup
./system-cube.sh build
二、每日构建System Cube
在crontab设置每日定时构建KYLIN_SYSTEM项目下的5个cube,分别是
KYLIN_HIVE_METRICS_JOB_EXCEPTION_Q,
KYLIN_HIVE_METRICS_JOB_QA,
KYLIN_HIVE_METRICS_QUERY_RPC_QA,
KYLIN_HIVE_METRICS_QUERY_CUBE_QA,
KYLIN_HIVE_METRICS_QUERY_QA
构建好之后在Dashboard仪表盘可以查看到Cube的各个查询指标:
三、开启Cube Planner
在kylin.properties中设置kylin.cube.cubeplanner.enabled=true,配置之后,可以点击Cube的Planner标签可以查看Cuboid的冷热情况,再点击Recommend可以根据System Cube收集到的Metrics数据对Cuboid的剪枝方案做出建议,继续点击Optimize进行优化。
对于已进行聚合组优化的cube,再使用cube planner的优化效果比较差,因为本身因为聚合组优化已经对cuboid做了剪枝。
对于没有经过聚合组优化的cube,cube planner有一定的优化效果。cuboid数量从127减少到87,扫描行数从6386180871减少到3539613347。