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

请描述 Apache Druid 提供的主要查询方式,并列举它支持的查询类型。

数据技术原理技术选型Apache Druid

考察说明

考查对 Apache Druid 查询接口和查询类型体系的掌握程度。

回答思路

  1. 【回答框架 1】Druid 的查询方式分为原生查询(Native Query)和 SQL 查询两种。原生查询通过 HTTP REST 接口发送 JSON 格式的查询请求,返回 JSON 响应,可直接操作底层数据结构和查询功能;SQL 查询则提供类 SQL 语法,由 Druid 的 SQL 层解析并转换为原生查询执行,便于集成和简化开发。
  2. 【回答框架 2】Druid 支持的查询类型包括 Timeseries、TopN、GroupBy、Scan、Search、Select 等。Timeseries 用于按时间序列聚合,返回时间戳和聚合结果;TopN 用于返回排序后的前 N 个维度值及各维度的聚合指标;GroupBy 支持多维分组聚合,功能最全但性能相对较慢;Scan 用于原始行扫描,不进行聚合;Search 用于过滤匹配特定值或模式的维度;Select 已弃用,现由 Scan 替代。
  3. 【回答框架 3】实际使用中,SQL 查询会覆盖大部分场景,但原生查询更灵活,适合精细控制查询行为。Druid 的查询通常通过 Broker 节点接收,并路由到 Historical 或实时节点执行,支持多种聚合函数和时间粒度控制。
  4. 【回答框架 4】选择查询类型需根据业务场景:需要时序聚合用 Timeseries,需要快速返回 Top N 用 TopN,需要复杂多维分析用 GroupBy,需要原始数据导出用 Scan。同时需注意各类型对内存和性能的影响,合理设置查询上下文参数。
  5. 【回答框架 5】常用查询类型在 Apache Druid 官方文档中有明确分类和示例,掌握这些类型是 Druid 使用和调优的基础。
  6. 【关键点 1】Druid 查询方式主要有原生 JSON 查询和 SQL 查询两种。
  7. 【关键点 2】支持的查询类型包含 Timeseries、TopN、GroupBy、Scan、Search 等。
  8. 【关键点 3】SQL 查询通过转换原生查询执行,原生查询提供更细粒度控制。
  9. 【关键点 4】Select 查询已弃用,由 Scan 替代。
  10. 【关键点 5】查询通过 Broker 节点路由到数据节点执行。
  11. 【易错点 1】不要混淆 Druid 的 Native Query 与 SQL 查询的执行机制,SQL 是转换为 Native 后执行的。
  12. 【易错点 2】Select 查询已废弃,不应继续使用。
  13. 【易错点 3】Timeseries 默认按时间聚合,需注意时间粒度参数调整,否则结果可能不符合预期。