Python学习【198】:Presto 单机部署与使用指南
Presto 是一个由 Facebook 开源的分布式 SQL 查询引擎,专为交互式分析和联邦查询场景设计。它本身不存储数据,但能够通过连接器(Connector)接入多种数据源(如 Hive、MySQL、PostgreSQL、Kafka、MongoDB 等),并使用标准 SQL 对这些数据源进行快速查询。- 跨数据源联邦查询:一条 SQL 同时查询 MySQL 和 Hive 中的数据。
- 数据湖/仓加速:比 Hive(MapReduce)快 10 倍以上,适合 Ad-Hoc 分析。
- ETL 数据加工:利用高性能内存计算,快速转换和清洗数据。
- 实时数据流分析:结合 Kafka 连接器,用 SQL 处理实时数据。
对于学习或验证场景,Presto 支持单机模式(Coordinator 和 Worker 合为一体),非常适合在虚拟机或个人电脑上快速体验。安装 Java 17(Presto 需要 Java 17+):创建配置文件(进入 presto-server 目录,创建 etc 目录):- etc/node.properties(节点标识)
- etc/config.properties(单机协调器+工作节点配置)
创建 etc/catalog/tpch.properties(使用内置的 TPC-H 测试数据生成器):查看日志:tail -f var/log/server.log下载可执行 JAR(注意选择 *-executable.jar,可直接运行):- --server:Presto 服务地址(端口与 config.properties 一致)
- --catalog:数据源名称(即 etc/catalog/ 下的文件名)
- --schema:默认模式(tpch 中有 sf1、sf100 等)
通过本文,我们成功在 Ubuntu 虚拟机上部署了 Presto 单机版,并配置了 TPC-H 测试数据源,通过 CLI 完成了查询验证。整个过程关键点在于:单机 Presto 虽然无法体现分布式能力,但足以帮助我们理解其工作原理、SQL 语法和联邦查询概念。下一步可以尝试连接 MySQL、Hive 等真实数据源,体验 Presto 强大的跨库查询能力。让我们保持学习的热情,2026年一马当先、马到成功!