Apache Presto 简明教程

Apache Presto - Overview

数据分析是对原始数据进行分析以收集相关信息、做出更好决策的过程。它主要用于许多组织中以做出业务决策。大数据分析包含海量数据,且此过程非常复杂,因此公司采用了不同策略。

例如,Facebook 是全球领先的数据驱动和最大的数据仓库公司之一。Facebook 仓库数据存储在 Hadoop 中用于大规模计算。后来,当仓库数据增长到 PB 级别时,他们决定开发一个具有低延迟的新系统。在 2012 年,Facebook 团队成员设计了 “Presto” ,针对交互式查询分析而设计,即使具有 PB 级数据,也能快速运行。

What is Apache Presto?

Apache Presto 是一个分布式并行查询执行引擎,针对低延迟和交互式查询分析而优化。Presto 可以轻松运行查询,并在从 GB 到 PB 的范围内进行扩展,且不会出现宕机。

一个 Presto 查询可以处理来自 HDFS、MySQL、Cassandra、Hive 等多个来源的数据,还可以处理许多其他数据源。Presto 是用 Java 编写的,且易于与其他数据基础设施组件集成。Presto 功能强大,Airbnb、DropBox、Groupon、Netflix 等领先公司都在采用它。

Presto − Features

Presto 包含以下功能:

  1. Simple and extensible architecture.

  2. 可插入连接器 - Presto 支持可插入连接器为查询提供元数据和数据。

  3. 管道式执行 - 避免不必要的 I/O 延迟开销。

  4. 用户自定义函数 - 分析师可以创建自定义用户自定义函数来轻松迁移。

  5. Vectorized columnar processing.

Presto − Benefits

以下是 Apache Presto 提供的好处:

  1. Specialized SQL operations

  2. 易于安装和调试

  3. Simple storage abstraction

  4. 低延迟下快速扩展 PB 级数据

Presto − Applications

Presto 支持当今大多数最佳行业应用。让我们来看一下一些著名应用。

  1. Facebook - Facebook 针对数据分析需求构建了 Presto。Presto 可以轻松扩展大量数据。

  2. Teradata - Teradata 在大数据分析和数据仓库中提供端到端解决方案。Teradata 为 Presto 做出的贡献使更多公司能够满足所有分析需求。

  3. Airbnb - Presto 是 Airbnb 数据基础设施中不可或缺的一部分。实际上,每天有数百名员工使用该技术运行查询。

Why Presto?

Presto 支持标准 ANSI SQL,这让数据分析师和开发人员的工作变得非常轻松。尽管它以 Java 编写,但它避免了 Java 代码与内存分配和垃圾回收相关的典型问题。Presto 具有与 Hadoop 友好的连接器架构。它允许轻松插入文件系统。

Presto 在多个 Hadoop 分布上运行。此外,Presto 可以通过一个 Hadoop 平台查询 Cassandra、关系型数据库或其他数据存储。这种跨平台分析功能允许 Presto 用户从千兆字节到拍字节的数据中提取最大业务价值。