SQL面试题更新 2026-08-05

使用 Hive 的 SQL 语句时,过滤和排序数据分别采用哪些语法?请给出具体写法。

数据技术原理Apache HiveSQL

考察说明

考察对 Hive 查询中 WHERE 过滤与 ORDER BY 排序基本语法的掌握程度。

回答思路

  1. 【回答框架 1】Hive 过滤使用 WHERE 子句,在查询表时按条件筛选行,语法与标准 SQL 一致,支持比较运算、逻辑运算和 IN、BETWEEN 等高级条件。
  2. 【回答框架 2】Hive 排序使用 ORDER BY,默认为升序,可指定 DESC 降序;ORDER BY 在严格模式下要求配合 LIMIT 使用,因其对全局数据排序开销较大。
  3. 【回答框架 3】Hive 还提供 SORT BY、DISTRIBUTE BY 和 CLUSTER BY:SORT BY 在 reducer 内排序,DISTRIBUTE BY 控制数据分发,CLUSTER BY 兼具两者功能且按相同列排序,适合分桶场景。
  4. 【回答框架 4】实际使用中应先 WHERE 过滤减少数据量,再排序,且注意数据类型和空值处理,确保排序结果符合预期。
  5. 【关键点 1】过滤使用 WHERE,排序使用 ORDER BY,语法类似标准 SQL。
  6. 【关键点 2】ORDER BY 全局排序,严格模式下需 LIMIT。
  7. 【关键点 3】区分 SORT BY、DISTRIBUTE BY、CLUSTER BY 的局部排序与分发机制。
  8. 【易错点 1】在严格模式下,ORDER BY 不配 LIMIT 会报错。
  9. 【易错点 2】SORT BY 不是全局排序,可能造成整体无序。