提示信息

cube中,aggregation_groups用法

眸中有新痕 已关注

在 Apache Kylin 中,aggregation_groups 是 cube 设计的一部分。它定义了一个或多个维度组(dimension groups),用于预聚合数据以提高查询性能。

每个 aggregation group 是一个 cube 维度的子集,每个子集中的维度将会一起进行预聚合。这意味着,Kylin 将为每个可能的组合生成预聚合的结果并存储,以便在查询时使用。

在 Kylin 中定义 aggregation groups 的语法如下:

  1. "aggregation_groups": [
  2. {
  3. "includes": ["dim1", "dim2"],
  4. "select_rule": {
  5. "hierarchy_dims": [["dim1", "dim2"]],
  6. "joint_dims": [["dim3", "dim4"]],
  7. "mandatory_dims": ["dim5"]
  8. }
  9. }
  10. ]

在以上示例中,该 aggregations group 包含 dim1 和 dim2 的所有可能的组合。同时,通过 select_rule 定义了更复杂的规则:

  • hierarchy_dims 定义了层级关系的维度。例如,如果你有“国家”和“城市”两个维度,并且他们有层级关系(也就是说,每个城市都位于一个国家中),那么你可以将它们放在同一个层级列表中。
  • joint_dims 定义了联合维度,这些维度总是一起出现在查询中。如果你知道两个或更多的维度总是一起出现在查询中,那么你可以将它们放在一个联合列表中。
  • mandatory_dims 定义了强制维度,这些维度总是出现在聚合组的每个预聚合结果中。

注意,你项目中的实际需求和数据模型可能会影响你如何设计 aggregation groups。要获取最佳性能,可能需要进行一些试验和优化。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
眸中有新痕 关注 已关注

最近一次登录:2023-10-20 15:56:57   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图