Presto 是针对低延迟、临时数据分析进行过优化的开源分布式 SQL 查询引擎。它支持 ANSI SQL 标准,包括复杂的查询、聚合、联接和窗口函数等。Presto 可以处理来自多个数据源的数据,包括 Hadoop 分布式文件系统 (HDFS) 和 Amazon S3。Presto 具有两个社群项目 – PrestoDB 和 PrestoSQL。Amazon EMR 同时支持这两个项目。
您可以通过亚马逊云科技管理控制台、亚马逊云科技 CLI 或 Amazon EMR API 快速而轻松地创建托管式 Presto 集群。此外,您还可以利用其他 Amazon EMR 功能,包括快速 Amazon S3 连接、与 Amazon EC2 竞价型实例集成、各种 Amazon EC2 实例选项,如内存优化型实例等,以及调整大小命令来轻松地添加或移除您的集群当中的实例。
功能与优点
交互式查询性能
Presto 使用具有运算符的自定义查询执行引擎,后者旨在为 SQL 语义提供支持。与 Hive/MapReduce 不同的是,Presto 在内存当中跨网络执行管道化查询(不同阶段之间),从而避免不必要的输入/输出。管道化执行模型并行运行多个阶段,并从一个阶段流式传输数据到下一个阶段(当它变得可用时)。
易于使用
您可以在几分钟内启动运行 Presto 的 Amazon EMR 集群。您无需担心节点调配、集群设置、配置或优化。Amazon EMR 会处理这些任务,因此您可以专注于分析。您还可以使用 Airpal 等工具,它是 Airbnb 的基于 Web 的开源查询执行工具。Airpal 的用户界面对数据探索和临时分析进行简化,并支持多种功能,例如,语法突出显示、导出结果到 CSV、保存查询供日后使用,以及探索表以便对架构进行可视化等功能。
与 Amazon EMR 功能集集成
运行可直接访问 Amazon S3 内数据的查询,使用 Amazon EC2 竞价型实例容量来节约成本,使用 EMR 托管式扩缩来动态添加与移除容量,以及启动长期运行或临时集群来匹配您的工作负载。您还可以在您的集群上添加其他 Hadoop 生态系统应用程序。
ANSI SQL 支持
Presto 支持 ANSI SQL 标准,后者可以使数据分析师和开发人员能够更轻松地大规模查询结构化和非结构化数据。目前,Presto 支持各种 SQL 功能,包括复杂的查询、聚合、联接和窗口函数。
详细了解 Amazon EMR 定价