Presto 是一种开源的分布式 SQL 查询引擎,针对低延迟的临时数据分析进行了优化。它支持 ANSI SQL 标准,包括复杂查询、聚合、连接和窗口函数。Presto 可处理来自多个数据源(包括 Hadoop 分布式文件系统 [HDFS] 和 Amazon S3)的数据。Presto 拥有两个社区项目 – PrestoDB 和 PrestoSQL。Amazon EMR 同时支持这两个项目。在此处了解有关 PrestoDB 的更多信息。
您可以快速且轻松地从 AWS 管理控制台、AWS CLI 或 Amazon EMR API 中创建托管的 Presto 集群。此外,您还可以利用其他 Amazon EMR 功能,包括 Amazon S3 快速连接、与 Amazon EC2 Spot 实例的集成、各种 Amazon EC2 实例(含内存优化型实例)的选择以及用于轻松添加实例或将其从集群中删除的 resize 命令。
功能和优势
交互式查询性能
Presto 结合使用了定制查询执行引擎与用于支持 SQL 语义的运算符。与 Hive/MapReduce 不同,Presto 在内存中执行查询,查询以流水线方式在网络中的不同阶段之间进行,从而避免不必要的 I/O。流水线执行模式并行运行多个阶段,在数据可用后从一个阶段向下一个阶段传输数据。
易用性
只需几分钟即可启动运行 Presto 的 Amazon EMR 集群。您不必担心节点预置、集群设置、配置或集群优化。Amazon EMR 自会处理这些任务,因此您只需集中精力进行分析即可。您还可以使用 Airpal 等工具,Airpal 是 Airbnb 提供的一种基于网络的开源查询执行工具。Airpal 的用户界面简化了数据探索和临时分析,并支持语法突出显示、将结果导出至 CSV、保存查询以待日后使用,以及浏览表格以便可视化架构等功能。
与 Amazon EMR 功能集集成
运行在 Amazon S3 中直接访问数据的交互式查询、使用 Amazon EC2 Spot 实例容量节省成本、使用 EMR Managed Scaling 动态添加和删除容量,以及启动长时间运行的或临时的集群以匹配工作负载。您还可以在您的集群上添加其他 Hadoop 生态系统应用程序。
ANSI SQL 支持
Presto 支持 ANSI SQL 标准,便于数据分析师和开发人员大规模查询结构化和非结构化的数据。当前,Presto 支持各种 SQL 功能,包括复杂查询、聚合、连接和窗口函数。
客户成功案例
![Netflix Netflix](https://d1.awsstatic.com/logos/600x400_logos/600x400_Netflix_Logo.711028f8cc9e68f3e3effaea948f9b0cbc6e3948.png)
Netflix 已经选择 Presto 作为用于大数据的交互式 ANSI-SQL 兼容的查询引擎。Presto 是扩展性很好的开源引擎,集成了 Hive Metastore 和 Amazon S3,成为 Netflix 大数据仓库环境的主干。Netflix 在永久性 Amazon EMR 集群上运行 Presto,以便快速且灵活地在其约 25PB 的 Amazon S3 数据存储中进行查询。Netflix 是 Presto 的一个积极贡献者,并且 Amazon EMR 为 Netflix 提供了在 Amazon EMR 集群上构建自己的 Presto 的灵活性。Netflix 平均每天在 Presto 集群中运行约 3500 条查询。
![Jampp Jampp](https://d1.awsstatic.com/logos/customers/jampp-blue-600x400%20(1).144d406ff18dfb05467d41ca97570e96fd6f3e23.png)
Jampp 是移动应用程序营销平台,使用高级广告重新定位目标技术促使参与用户使用应用程序。Jampp 借助其自身的转化驱动型实时出价 (RTB) 引擎购买移动媒体库存,从而实现目标,该引擎可跨 18 家 RTB 交易所和 150 多个移动广告网络为库存动态出价。Jampp 利用在 Amazon EMR 上运行的 Presto 获取高级临时日志分析,将来自多个源的数据和重新定位的复杂分段计算结合起来。Jampp 的用户群增长率已达 600%,其复杂的分析查询需求增长率也随之达到了 600%。Jampp 从在 MySQL 上运行复杂的多核 Python 应用程序,转为运行 Presto,性能提高了 12 倍。Jampp 目前使用 Amazon EMR 上的 Presto 每天处理 40TB 的数据。
![Cogo Labs Cogo Labs](https://d1.awsstatic.com/logos/customers/CogoLabs.3a5908a156c7c49627a8f81443e024b645db2af0.png)
作为新创企业孵化器,Cogo Labs 运营着一个用于营销分析和商业智能的平台,供投资组合公司和内部团队使用。要支持创新速度极快的 OLAP 环境,他们在 SQL 中进行了标准化以便与数据交互。Cogo Labs 之所以选择 Presto 是因为其实时查询性能、对 ANSI-SQL 的支持,以及直接从 Amazon S3 处理数据的能力。借助在 Amazon EMR 上运行的 Presto,100 多名开发人员和分析师对存储在 Amazon S3 中超过 500TB 的数据运行 SQL 查询,从而进行数据探索、临时分析和报告。Cogo Labs 使用短期和永久性集群组合,并依靠 Amazon EMR 与 Spot 实例的集成来降低成本。
![OpenSpan OpenSpan](https://d1.awsstatic.com/logos/customers/OpenSpan.569f379dff046c292eb3a8024179649aeb3b5275.png)
OpenSpan 提供自动化且智能的解决方案,可帮助桥接人力、流程和技术,从而更好地了解员工工作效率、简化交易以及与员工和客户进行互动。OpenSpan 利用 Amazon S3 中的数据从 HBase 迁移到了 Amazon EMR 上的 Presto。OpenSpan 之所以选择 Presto 是因为其 SQL 界面以及直接从 Amazon S3 中实时查询数据的能力;允许快速探索大量数据并快速迭代即将推出的数据产品。OpenSpan 使用 Parquet 文件格式,还使用 PrestogreSQL 连接至 Presto。OpenSpan 选择 Amazon EMR 和 Amazon S3 来经济高效地处理他们每天从客户处收到的数据。
了解有关 Amazon EMR 定价的更多信息