为什么你需要掌握 Presto

传统的数据查询往往面临两难:Hive 处理海量数据吞吐强,但交互响应慢,无法支持实时探索;传统 MPP 数据库性能好,却难以应对 PB 级数据的弹性扩展。Presto 正是为了解决这一矛盾而生,它专为交互式大数据分析设计,具备低延迟、高并发和分布式的特性。本课程从 Facebook 的工程实践背景切入,首先剖析为何需要构建一个分布式 SQL 查询引擎,帮助你理解其诞生的技术动因。随后深入解析 Presto 的架构原理,包括 Coordinator 与 Worker 的职责分工、查询计划生成及执行流程。只有理解了底层架构,才能在后续的生产环境运维中快速定位性能瓶颈。对于立志进入大数据领域或需要处理复杂 Ad-hoc 查询的技术人员而言,掌握 Presto 是打通离线批处理与实时分析之间链路的关键能力。

从环境搭建到实战演练

理论学习必须配合扎实的环境实操,而这门课的前半部分重点补齐了学习者在基础架构上的能力缺口。Presto 运行依赖于 Java 和 Hadoop 生态,因此课程详细演示了 CentOS 系统的安装、网络配置、防火墙关闭以及 yum 源更新等基础运维操作。你会跟随步骤完成 JDK 和 Hadoop 的完全分布式集群搭建,并通过经典的 WordCount 案例验证集群状态。这些看似基础的内容往往是新手最容易踩坑的地方,比如依赖版本兼容性、节点间通信配置等,课程提供了详尽的避坑指南。建议初学者务必亲手完成这部分内容,不要跳过环境准备直接学习 SQL 语法,因为只有在真实的分布式环境中,你才能真正体会任务调度与数据分片的实际运作机制。

学完能独立做什么

完成本课程后,你将能够独立部署一套可用的 Presto 集群,并熟练编写复杂的 SQL 语句进行数据探索。你将不再只是“会写 SQL”,而是能够解释查询在集群中是如何被拆分和执行的路径。配合课程提供的资料包,你需要将理论笔记与实操记录相结合,特别是在 Hadoop 分布式搭建和 Presto 集成阶段,记录每一步的命令输出和异常处理过程。最终,你应能回答:如何评估查询性能?如何在多数据源场景下统一查询接口?以及 Presto 与 Hive 等其他计算引擎的本质区别是什么?这门课不仅是一份技术教程,更是你构建大数据查询引擎认知体系的基石。

课程目录

1 01.presto的起因 (07:56)
2 02.facebook为何要开发presto (08:07)
3 03.presto的架构图 (10:44)
4 04.presto简介 (10:00)
5 05.presto的安装需求 (05:15)
6 06.presto的需要安装的软件 (02:17)
7 07.VM的安装 (05:56)
8 08.centos的安装和网络配置 (24:10)
9 09.通过第三方连接centos的方法 (06:48)
10 10.CentOS的yum源更新已经关闭防火墙 (15:37)
11 11.JAVA的安装和hadoop安装 (12:18)
12 12.完全分布式搭建(上) (26:30)
13 13.完全分布式搭建(下) (08:00)
14 14.通过hadoop自带的demo运行单词统计 (09:03)
15 15.写一个sh脚本,可以通过一台机器控制多台机器 (16:15)
16 16.hadoop常用的命令 (05:55)
17 17.maven的安装 (13:26)
18 18.maven使用时出现问题以及解决问题方法 (02:04)
19 19.MAPREDUCE 示例编写及编程规范 (15:22)
20 20.安装时间同步工具,让所有电脑进行同步 (09:55)
21 21.Hive简介和工作流程 (09:42)
22 22.Mysql的安装,centos7安装mysql注意点 (12:45)
23 23.安装Hive,并且使用Hive做一个小案例 (31:15)
24 24.把txt文件的数据导入到Hive表中 (07:20)
25 25.xshell的使用教程 (04:22)
26 26.presto的安装过程 (21:02)
27 27.presto的运行错误的解决方法 (07:52)
28 28.hive和presto的开启 (05:41)
29 29.hive和presto的小demo验证 (10:16)
30 30.presto的配置文件的讲解 (10:02)
31 31.presto的集群的配置演示 (12:11)
32 32.presto的集群的启动过程 (02:57)
33 33.presto的集群的管理页面的介绍 (02:35)
34 34.presto和impala性能对比 (05:06)
35 35.案例一通过jdbc方式获取hive数据库的表 (10:01)
36 36.案例二通过jdbc方式获取hive数据 (05:58)