Learning and Operating Presto
作者: Angelica Lo Duca, Tim Meehan, Vivek Bharathan, and Ying Su
语言: 英文
出版年份: 2023
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

一、书籍背景

随着数据量的爆炸性增长,传统数据仓库在处理大规模数据时面临诸多挑战。Facebook 于 2012 年开发了 Presto,旨在解决 Apache Hive 在处理海量数据时的低效问题。Presto 作为一种分布式 SQL 查询引擎,能够快速处理大规模数据集,支持多种数据格式和数据源。本书《Learning and Operating Presto》由 Angelica Lo Duca、Tim Meehan、Vivek Bharathan 和 Ying Su 共同撰写,由 O’Reilly Media 出版,旨在帮助读者快速掌握 Presto 的基本原理和操作方法,以便在数据湖和数据仓库场景中高效部署和使用 Presto。

二、Presto 核心特性

  • 高性能:Presto 采用内存计算架构,避免了磁盘 I/O 操作,显著提高了查询速度。
  • 高可扩展性:Presto 可以在不同规模的集群上运行,从单机到大规模分布式集群。
  • ANSI SQL 标准支持:Presto 支持标准的 SQL 语法,用户无需学习新的查询语言。
  • 数据源联邦查询:Presto 支持多种数据源,包括关系型数据库、NoSQL 数据库和文件系统,能够实现跨数据源的联合查询。
  • 云原生支持:Presto 可以在云环境中运行,利用云服务的弹性扩展能力。

三、书籍内容概述

第 1 章:Presto 介绍

介绍了数据湖和数据仓库的区别,Presto 的起源、设计考虑以及其在数据湖中的角色。通过一个电商场景的案例,展示了 Presto 的主要用例,如即席查询、报告和仪表板、ETL 等。

第 2 章:开始使用 Presto

详细介绍了 Presto 的安装和配置方法,包括手动安装、使用 Docker 和 Kubernetes 部署 Presto 集群。通过实际操作,读者可以快速搭建一个本地 Presto 环境,并运行简单的查询。

第 3 章:连接器

深入探讨了 Presto 的连接器机制,包括如何实现自定义连接器、使用 Thrift 连接器以及如何将 Apache Pinot 等外部数据源与 Presto 集成。连接器是 Presto 的核心组件之一,它使得 Presto 能够访问和查询各种外部数据源。

第 4 章:客户端连接

介绍了如何使用不同编程语言(如 Python、R、Java 等)编写 Presto 客户端,以及如何通过 REST API、JDBC、ODBC 等方式连接到 Presto 集群。此外,还提供了一个基于 Python 的简单 Web 仪表板示例,展示了如何将 Presto 查询结果可视化。

第 5 章:开放数据湖屋分析

探讨了数据湖屋的概念及其架构,包括数据湖存储、查询引擎、元数据管理和数据治理。通过一个完整的数据湖屋实现案例,展示了如何将 Presto 与 MinIO、HMS、Spark 和 Hudi 等组件集成,构建一个高效的数据湖屋解决方案。

第 6 章:Presto 管理

介绍了 Presto 集群的管理任务,包括配置、监控和资源管理。详细讨论了如何通过配置文件、会话属性和 JVM 参数来优化 Presto 的性能,以及如何使用 Presto 控制台、REST API 和 JMX 指标来监控集群状态。

第 7 章:Presto 安全性

探讨了 Presto 集群的安全性,包括如何建立安全通信、认证用户身份以及授权访问。介绍了文件认证、LDAP 认证、Kerberos 认证等多种认证方式,以及如何通过系统访问控制和 Apache Ranger 来管理授权。

第 8 章:性能调优

介绍了 Presto 性能调优的基本概念、生命周期和方法。详细讨论了 Presto 查询执行模型,以及如何通过资源分配、存储优化和查询优化来提高查询性能。此外,还介绍了 Aria Scan 项目,它通过改进表扫描和重新分区来提升 Presto 的性能。

第 9 章:大规模运行 Presto

讨论了如何在大规模环境中运行 Presto,包括扩展 Presto 集群的策略和方法。介绍了多协调器架构、Presto on Spark 以及溢出机制等技术,这些技术有助于 Presto 处理大规模数据集和高并发查询。

四、总结

《Learning and Operating Presto》是一本全面且实用的 Presto 操作指南。它不仅涵盖了 Presto 的基本原理和架构,还提供了丰富的实践案例和配置技巧,帮助读者在实际工作中高效地部署和管理 Presto 集群。无论是数据工程师、架构师还是数据科学家,都能从本书中获得宝贵的指导和启发,从而更好地利用 Presto 解决大规模数据处理和分析中的挑战。

期待您的支持
捐助本站