当前位置: 代码迷 >> 综合 >> Apache Kylin 优化指南
  详细解决方案

Apache Kylin 优化指南

热度:44   发布时间:2023-12-16 17:07:55.0

Apache Kylin 优化指南

一. 维度优化

为什么需要维度优化

如果不进行任何维度优化,直接将所有的维度放在一个聚集组里,Kylin将会计算所有的维度组合(cuboid)。比如,有12个维度,Kylin 就计算2的12次方即4096个cuboid,实际查询可能用不到cuboid 不到1000个,甚至更少。如果进行围堵优化,会造成集群计算和存储资源的浪费,也会影响cube的build和查询性能。

当你保存的cube时遇到下面的异常信息时,意味着一个聚合组已经大于4096,你就必须进行维度优化了。

image_1aufkne841pr4155d15bh1cmigf09.png-43.3kB

如何计算1个聚合组的维度组合数

当有层次维度时,公式如下:
(hierarchy.size()+1) * hierarchyDimsList.size() * (1 << jointDimsList.size()) * (1 << normalDims.size())
当没有层次维度时,公式如下:
(1 << jointDimsList.size()) * (1 << normalDims.size())

如何进行维度优化

确认你设置的cube维

  相关解决方案