这门课解决什么问题

你写 SQL 的时候会不会发现:同一个查询在 Hive 上跑半小时、Impala 上几秒就出结果,但 Presto 又挂了;换了 Spark SQL,资源又占满。PB 级数据仓库里,到底该选谁?这就是本系列要回答的问题——不是讲单个引擎的原理,而是帮你建立**「数据规模 × 查询模式 → 引擎选型 → 调优方向」**的完整判断力。

很多学习者的痛点是:文档能背,选型不会;会用一种,换种就懵。这套课从"基本能力缺口"出发:分布式查询引擎的**评价指标体系**(吞吐、延迟、资源弹性、容错),主流方案的架构差异(Hive 批处理 vs Impala/MPP vs Druid 列存实时),以及数据仓库场景下的组合方案。

适合什么基础

你已经会写 SQL,了解 HDFS 的基本概念,但不确定为什么 PB 级数据上 Hive 慢、Impala 快;没做过引擎选型,面对业务需求只会堆组件。不需要你精通 C++ 或 JVM,但需要**至少用过一种大数据查询工具**,知道表是怎么建的、数据是怎么流转的。

建议先看这三块:
1. **1-1 到 1-3**:先搞清楚"分布式查询引擎是什么、怎么评价好坏",建起思维框架,后面对比时才不迷路。
2. **2-1 到 2-6**:用半天时间把 Hive / Impala / Presto / Spark SQL / Druid 各家特性过一遍,别急着上手,先记住各自强项。
3. **3-1**:看完选型章节,你应该能独立回答"这个数据仓库场景该用什么"。

最后 **4-1 Impala 架构**,是让你从宏观选型落到微观理解——知道为什么 Impala 在 PB 级上延迟可控,才能在自己的集群上做调优。

学完能做什么、资料怎么配合练习

这系列配套的是视频 + 目录结构,没有 zip/mp4 这种具体文件,但你可以把每一节当作一个"能力点":
- 看完 **1-3 评价指标**,你应该能独立给任何引擎打分(不只是性能,还有生态、运维成本)。
- 看完 **2-1 到 2-6**,你能说出"Hive 批处理适合哪里、Impala 实时查询适合哪里、Druid 点查适合哪里"。
- 看完 **3-1 数据仓库方案**,你能针对一个新仓库,给出 1~2 个候选引擎并列出权衡点。
- 看完 **4-1 Impala 架构**,你能画出 NameNode / QueryCoordinator / DataNode 的关系图,知道每个节点做了什么。

学习节奏建议:每看完一节,自己写一段"这节解决我哪个能力缺口",然后试着用这节知识去解释一个你实际遇到的问题。没有配套练习题库,但每一节都对应一个明确的"能独立回答的问题"——如果你看完全集后,还不能说清楚"Hive 和 Impala 的架构差异是什么、分别在什么场景用",那就回去重看 1-3 和 2-1/2-2。

课程目录

1-1 [分布式查询引擎的基本概念] 什么是查询引擎 (03:39)
1-2 [分布式查询引擎的基本概念] 分布式查询引擎的一般应用 (03:50)
1-3 [分布式查询引擎的基本概念] 分布式查询引擎的评价指标 (08:04)
2-1 [主流查询引擎的特性对比] Hive (05:21)
2-2 [主流查询引擎的特性对比] Impala (03:37)
2-3 [主流查询引擎的特性对比] Presto (02:14)
2-4 [主流查询引擎的特性对比] Spark SQL (03:00)
2-5 [主流查询引擎的特性对比] Druid (02:35)
2-6 [主流查询引擎的特性对比] 其它分析型数据库 (03:15)
3-1 [在不同应用场景中的查询引擎方案选型] 查询引擎在数据仓库中的应用 (19:32)
4-1 [Impala 的整体架构] 整体架构 (07:44)
5-1 [Impala 的查询执行过程分析] Impala 的查询执行过程分析 (25:44)
6-1 [Impala 的不同存储方式对比] Impala 的不同存储方式对比 (18:01)
7-1 [Impala 的性能分析和优化] Impala 的性能分析和优化 (24:01)