数据岗位面试题更新 2026-08-05

请解释 Apache Kylin 中 Cube 的核心概念,并概述其构建流程的主要步骤。

数据技术原理Apache HBaseApache HiveApache Kylin

考察说明

考查对 Apache Kylin 核心抽象 Cube 的理解及构建流程的掌握程度。

回答思路

  1. 【回答框架 1】Cube 是 Kylin 中预计算的多维数据模型,本质是对事实表按维度组合进行预聚合,将聚合结果以 Key-Value 形式存储在 HBase 中,以空间换时间实现亚秒级查询响应。
  2. 【回答框架 2】基本构建过程包括:创建 Data Model 并指定事实表和维度表,然后定义 Cube 的维度和度量;构建时按序执行任务,先构建中间平表,再根据维度组合生成多个 Cuboid,对每个 Cuboid 执行聚合计算,最终将结果写入 HBase。
  3. 【回答框架 3】构建过程由构建引擎(如 MapReduce 或 Spark)调度,涉及从 Hive 读取源数据、维度字典编码、Cuboid 计算和存储等多个步骤,产出物为 Cube 数据,供查询引擎使用。
  4. 【回答框架 4】查询时根据 SQL 所用维度匹配最合适的 Cuboid,从 HBase 读取预计算结果,避免扫描原始数据。
  5. 【回答框架 5】构建可分为全量构建和增量构建,增量构建基于分段(Segment)管理,确保数据可追溯和查询的连续性。
  6. 【关键点 1】Cube 是预计算的多维数据立方体,用于加速查询。
  7. 【关键点 2】构建过程包括定义模型、构建 Cuboid、聚合计算和存储结果。
  8. 【关键点 3】查询利用预计算结果,避免实时扫描原始数据。
  9. 【关键点 4】增量构建通过 Segment 实现数据更新和查询一致性。
  10. 【易错点 1】不要把构建流程描述为单一任务,实际是包含多个步骤的任务链。
  11. 【易错点 2】忽略 Cuboid 数量膨胀导致的构建成本问题。
  12. 【易错点 3】误解查询必须命中最小 Cuboid,实际匹配最适当的即可。