有电书房店铺主页二维码
有电书房
微信扫描二维码,访问我们的微信店铺

Presto学习手册

57.53 限时折扣 原价:¥61.20
运费: ¥ 5.00-22.00
库存: 300 件
Presto学习手册 商品图0
Presto学习手册 商品图1
Presto学习手册 商品图2
Presto学习手册 商品缩略图0 Presto学习手册 商品缩略图1 Presto学习手册 商品缩略图2

商品详情

书名:Presto学习手册
书号:978-7-5239-1125-9
定价:68元
作者:[意]安杰莉卡·洛·杜卡(Angelica Lo Duca)[美]蒂姆·米罕(Tim Meehan)[印]维韦克·巴拉坦(Vivek Bharathan)[加]苏颖(Ying Su) 著 陈洋 译
出版时间:2026-04-24
出版社:中国电力出版社
页码: 212    字数(千字):205
开本:特16开    版次:1    印次:1


品牌介绍

中国电力出版社成立于 1951 年,作为中国成立最早的中央科技出版社之一,曾隶属于水利电力部、能源部、电力工业部、国家电力公司,现为国家电网公司所属的科技出版社,在电气技术专业出版领域享有极高的声誉。该社作为以图书出版为主体,音像、电子出版物、期刊、网络出版共同发展的大型出版企业,以强大的出版资源和高素质的专业队伍,致力于向读者提供包括电力工程、电气工程、建筑工程、电子技术、信息技术、外语、大中专教材、家教等学科门类齐全的权威出版物,也竭力为广大师生提供精品教材,是教育部和北京市教委规划教材的出版基地之一。


编辑推荐

编辑推荐 Presto社区自2012年在Facebook诞生以来迅速发展壮大。然而,即使是经验丰富的工程师,也可能会发现学习和使用这个开源分布式SQL查询引擎具有一定的挑战性。本书为数据工程师、架构师、平台工程师、云工程师,以及软件工程师提供了实用指南,帮助他们在组织中使用Presto从各类数据集中提取有价值的见解。 本书作者介绍了Presto的概念、起源,以及与其他数据仓库解决方案的不同之处。你将了解到 Facebook、Uber、阿里云、Hewlett Packard Enterprise、IBM、Intel,以及许多公司为何会选择Presto,并学习如何快速在生产环境中部署Presto。


产品特色

极速、可靠的SQL引擎与湖仓架构实战。


作者介绍

Angelica Lo Duca,计算机科学博士,意大利国家研究委员会信息学与远程通信研究所的研究员,从事研究与技术相关的工作。Tim Meehan,自2018年起参与Presto项目,现就职于IBM,并担任Presto技术指导委员会主席。Vivek Bharathan,Ahana(IBM旗下公司)的联合创始人兼首席软件工程师,曾在 Uber 担任软件工程师,负责管理超过2500个节点的Presto集群。Ying Su,Ahana(IBM旗下公司)的性能架构师,致力于基于Presto和Velox构建更高效、更具成本效益的数据湖服务。


内容介绍

本书的主要内容有:如何安装和配置Presto。如何将Presto与商业智能工具结合使用。如何连接Presto到各种数据源。如何扩展Presto以实现实时业务分析。如何应用最佳实践和优化技巧。如何查看日志、错误消息等进行故障排查。了解Presto的架构概念和使用模式。掌握Presto的安全性与运维管理。
本书适用于本书适用负责为团队构建数据平台的专业人士。数据工程师、架构师、平台工程师、云工程师,以及软件工程师。


前言

前言 数据仓库的兴起源于将运维数据库中的数据提取到更适合分析的系统之中。这些系统一般运行成本高昂,以至于用户在决定使用哪些数据在该系统中进行分析时通常非常谨慎。 随着时间的推移,人们对数据量的需求呈爆炸式增长,其增速远远超出了摩尔定律(Moore’s law)的预测。这为传统数据仓库带来了巨大的挑战。尽管这一趋势在整个行业内都很明显,但一些公司更早地遇到了这一难题。 Facebook 是最早尝试解决这一问题的公司之一,早在2012 年就已着手进行。当时,Facebook 使用Apache Hive 来进行交互式分析。但随着Facebook 的数据集规模不断扩大,人们发现Hive 并没有达到预期的交互式体验。更直白地说,就是查询速度过于缓慢。导致这一问题的根本原因是Hive 的底层架构采用了MapReduce,而当时MapReduce 在运行时需要将中间结果集持久化到磁盘。这意味着每个查询都会产生大量针对短暂性中间数据的磁盘I/O 操作,极大地拖慢了查询的响应速度。为了解决这一问题,Facebook 开发了Presto —— 一种全新的分布式SQL 查询引擎。Presto 的设计核心是一种内存引擎(in-memory engine),单个查询的中间结果无需持久化到磁盘。这种架构设计使得查询速度实现了数量级的提升,许多查询的执行时延甚至低于一秒钟。Facebook 的终端用户,包括工程师、产品经理以及数据分析师发现,他们可以轻松地对大型数据集中的部分数据进行交互式查询,以快速验证假设、制作数据可视化。 尽管Facebook 是较早遇到这种扩展性挑战的公司之一,但随着数据规模的增长远远超过硬件发展的速度,类似的问题逐渐成为行业中普遍面临的难题。数据湖架构(data lake architecture)便是在这种背景下诞生的。这种架构的核心理念是将存储与计算解耦,允许数据存储以更低的成本进行扩展。数据通常被存储于基于通用硬件的分布式文件系统中,最终进一步扩展到云存储系统。伴随着数据存储成本的持续降低,专门用于处理不断增长的数据的计算系统也同步发展。然而,早期人们并不清楚如何对数据湖中的数据执行高效的交互式查询。正如2012 年Facebook 面临的情况一样,用户经常尝试使用专为离线场景设计的工具来转换和查询数据湖中的数据,这种做法效率极低,查询体验糟糕。正是在这样的背景下,Presto 于2013 年被Facebook 开源,并迅速在Airbnb、Uber 和Netflix 等其他数据领域先驱公司中得到了广泛应用。事实证明Facebook 在当时所面临的问题并非特例,而只是遇到得比较早而已。多年过去,人们对在分布式存储上进行快速交互式数据查询的需求只增不减。随着使用规模的增长,用户对交互式查询的期望也水涨船高。起初,交互式查询常常存在结果一致性不足、无法支持模式演化,以及难以调试历史版本数据等诸多缺陷。为满足这些日益增长的需求,表格式也逐渐从最初的Hive 表格式进化,逐步增加了类似数据仓库中那样的丰富特性,例如支持ACID 事务和索引等功能。Presto 的架构在设计之初就具备很强的灵活性,能够良好地适应这些不断变化的需求。这也推动了当今湖仓架构的出现:廉价的分布式存储位于数据湖之上,在性能上通常可与传统数据仓库媲美,同时具备了传统数据仓库设备类似的易用性特性,显著降低了人们将数据抽取、转换与加载(extract,transform,and load,ETL)到其他系统的必要性。 为什么要撰写本书 在团队中部署Presto,以满足数据仓库和湖仓基础设施的需求,并不是一项简单的任务。要想成功部署Presto,你需要深入理解其核心原理以及它所提供的工具。本书的目的就是帮助你快速掌握Presto 的基础概念,使你能够在企业环境中成功部署Presto,并充分利用这一当今数据分析领域最强大的分布式查询引擎之一。本书还涵盖了Presto 生态系统的相关内容,介绍了如何将其与其他流行的开源项目集成,例如Apache Pinot、Apache Hudi 等。通过这些集成,你可以进一步拓展Presto 的应用场景,解锁更多数据分析的可能性。读完本书后,你将具备足够的信心和能力,在团队中顺利部署Presto,并在未来持续维护和优化它,使其在实际应用中发挥最大的价值。 读者对象 本书适用负责为团队构建数据平台的专业人士。这类读者的职位可能包括数据工程师、架构师、平台工程师、云工程师,以及软件工程师。这些工程师的主要职责是构建并维护支持多个互联产品的数据平台。他们需要确保所有组件能够作为一个完整的集成系统协同工作,同时解决数据处理和分析相关的问题。此外,他们还负责执行数据清洗、管理、转换和去重等任务,并开发工具和技术,以优化和提升数据分析平台的能力。 排版约定 本书采用以下排版约定。 斜体(Italic) 表示新术语、URL、电子邮件地址、文件名和文件扩展名。 等宽字体(Constant width) 表示程序清单,在段落内表示程序元素,例如变量、函数名称、数据库、数据类型、环境变量、语句和关键字。 粗体等宽字体(Constant width bold) 表示应由用户原封不动输入的命令或其他文本。 斜体等宽字体(Constant width italic) 表示应该替换成用户提供值的文本,或者由上下文决定的值。 使用代码示例 本书的补充材料(代码示例、练习等)可在以下地址下载:。 如果在使用代码示例时遇到技术问题, 或有相关疑问, 请发送邮件至bookquestions@oreilly.com。 本书旨在帮助你完成工作。一般情况下,如果本书提供了示例代码,你可以在自己的程序和文档中使用它们。无需获得授权,除非你需要复制代码的大部分内容。例如:在你的程序中使用本书的若干代码片段;在回答技术问题时引用本书,并附带部分示例代码,这些情况无需授权。而销售或分发来自O’Reilly书籍的示例代码;在产品文档中包含本书的大量代码示例,则需要授权。 我们欢迎但通常不强制要求署名。署名通常包括书名、作者、出版社和ISBN。 例如:“Learning and Operating Presto by Angelica Lo Duca,Tim Meehan,Vivek Bharathan, and Ying Su (O’Reilly). Copyright 2023 O’Reilly Media, Inc., 978-1-098-14185-1”。 如果你觉得自己对示例代码的使用超出了上述许可范围,请通过permissions@oreilly.com 与我们联系。 对本书中文版有任何建议可以发电子邮件到errata@oreilly.com.cn。 O’Reilly 在线学习平台(O’Reilly Online Learning) 近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。 公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:/。 联系我们 任何有关本书的意见或疑问,请按照以下地址联系出版社。 美国: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中国: 北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035) 奥莱利技术咨询(北京)有限公司 我们为本书提供了专属页面,列出了勘误、示例代码以及其他相关信息。你可以访问以下网址获取更多内容:。 欲了解本社图书和课程的新闻和信息,请访问我们的网站http://oreilly.com。 我们的LinkedIn:。 我们的Twitter:。 我们的YouTube:。 致谢 本书的出版离不开众多合作者的共同努力,他们各自发挥专业特长,贡献宝贵的见解与智慧,并倾注心血以确保本书的成功。首先,我们要感谢本书的技术审阅者Chunxu Tang、Andreas Kaltenbrunner 和Scott Haines,他们投入了大量时间提供了建设性的反馈。你们的深刻见解和建议在打造本书的最终版本起到了至关重要的作用,我们由衷感激你们的付出和对本书质量提升的贡献。 此外,我们衷心感谢Wen Phan 在第5 章中慷慨分享他的专业知识。你的经验和见解极大地丰富了本书的内容,我们对此深表感激。 同时,我们向O’Reilly 的策划编辑Aaron Black 表达诚挚的谢意。感谢你认可本书的理念,并给予我们机会将其付诸实践。你的指导和支持在整个创作过程中都起到了不可或缺的作用。对于本书的开发编辑Gary O’Brien,我们同样深感感激。你的不懈投入确保了本书达到最佳质量,你对细节的关注和富有洞察力的建议,使本书的内容更上一层楼。你的专业精神和敬业态度令人敬佩。 最后,我们要特别感谢O’Reilly 幕后团队的所有成员,你们夜以继日地付出,使本书得以顺利出版。你们的辛勤工作、专业素养和热情令人赞叹,我们由衷感谢你们为此付出的努力。 Angelica Lo Duca 首先,我要感谢我的丈夫Andrea,感谢他的耐心与鼓励,使我能够完成这本书。谢谢你的安慰之言,以及我们关于动力的长时间交流。我还要向我的孩子们致以温暖的感谢。你们的欢笑和游戏陪伴着我在电脑前度过的每一个写作时刻,你们写着自己的书,而我在写我的书。最后,我要特别感谢我生命的上帝。感谢呼召我,以喜悦之心分享我的研究成果,因为在所有事情上,“施比受更有福”。 Tim Meehan 感谢我的妻子和儿子,在这段旅程中给予我耐心和理解。感谢Girish Balliga在Presto 基金会的卓越领导与深刻见解。感谢我在Meta 和IBM 的同事们,他们的友谊、支持、指导和启发让我受益良多,特别感谢James Sun、Masha Basmanova、Steven Mih 和Ali LeClerc。 Vivek Bharathan 衷心感谢Presto 社区的朋友们,感谢你们的交流、编辑建议、深刻见解和其他对本书的贡献。特别感谢Reetika Agrawal、Rohan Pednekar 和Devesh Agrawal。感谢Ali LeClerc,你的帮助在这次合作中至关重要。感谢Steven Mih 和Dipti Borkar, 他们的愿景和激励让我们走到了今天。感谢David Simmen 的领导和指导。最后, 最重要的感谢献给我的妻子Priya 和女儿Raksha,是你们始终坚定的支持,使这一切成为可能。 Ying Su 感谢我亲爱的父母,你们给予我无尽的爱、关怀和支持。感谢Steven Mih、Dipti Borkar 和David Simmen,他们的远见、勇气、孜孜不倦的努力,以及对我的极大信任和支持。感谢我在Ahana、IBM 和Meta 的同事们,你们的友谊、指导和鼓励始终激励着我前行!


目录

目录
前言 1
第1 章 Presto 简介 9
11 数据仓库与数据湖 10
12 Presto 在数据湖中所扮演的角色 13
13 Presto 的起源与设计考量 13
131 高性能 15
132 高扩展性 16
133 符合ANSI SQL 标准 16
134 数据源联邦查询 16
135 云端运行 18
14 Presto 架构与核心组件 18
15 Presto 的替代方案 20
151 Apache Impala 20
152 Apache Hive 20
153 Spark SQL 20
154 Trino 21
16 Presto 的使用场景 21
161 报告与数据可视化仪表盘 21
162 即席查询 21
163 使用SQL 进行ETL 22
164 数据湖仓 22
165 实时分析与实时数据库 22
17 案例简介23
18 本章小结24
第2 章 开始使用Presto 25
21 手动安装Presto 25
22 在Docker 上运行Presto 25
221 安装Docker 26
222 Presto Docker 镜像 26
223 在Docker 上构建和运行Presto 33
224 Presto 沙盒环境 34
23 在Kubernetes 上部署Presto 34
231 Kubernetes 简介 35
232 在Kubernetes 上配置Presto 35
233 添加新目录 42
234 在Kubernetes 上运行部署 43
24 查询你的Presto 实例 44
241 列出目录 44
242 列出模式 45
243 列出表 46
244 查询表 46
25 本章小结48
第3 章 连接器 49
31 服务提供者接口 49
32 连接器架构 51
33 常见连接器 51
34 编写自定义连接器 53
341 先决条件 54
342 插件与模块 55
343 配置 58
344 元数据 60
345 输入/ 输出 63
346 部署自定义连接器 65
35 Apache Pinot 66
351 配置Presto 连接Pinot 66
352 PrestoPinot 查询实践 69
36 本章小结70
第4 章 客户端连接 73
41 环境设置73
411 Presto 客户端 74
412 Docker 镜像 74
413 Kubernetes 节点 75
42 连接Presto 76
421 REST API 76
422 Python 78
423 R 79
424 JDBC 80
425 Nodejs 81
426 ODBC 82
427 其他Presto 客户端库 83
43 在Python 中构建客户端仪表板 83
431 设置客户端 83
432 构建仪表板 85
44 本章小结90
第5 章 开放式数据湖仓分析 91
51 湖仓的兴起 91
52 数据湖架构 93
53 数据湖 93
531 文件存储 94
532 文件格式 94
533 表格式 95
54 查询引擎97
55 元数据管理 97
56 数据治理98
57 构建数据湖仓 100
571 配置MinIO 101
572 配置HMS 106
573 配置Spark 108
574 注册Hudi 表到HMS 109
575 连接并查询Presto  111
58 本章小结 113
第6 章 Presto 管理  115
61 Presto 管理简介  115
62 配置  116
621 属性  116
622 会话  119
623 JVM121
63 监控 123
631 控制台 123
632 REST API 126
633 指标 128
64 管理 130
641 资源组 130
642 验证器 133
643 会话属性管理器 138
644 命名空间函数 139
65 本章小结141
第7 章 了解Presto 的安全性  143
71 Presto 安全性简介 143
72 在Presto 中构建安全通信 144
721 加密 144
722 密钥存储管理 145
723 配置HTTPS/TLS 147
73 认证 148
731 基于文件的认证 148
732 LDAP 151
733 Kerberos 152
734 创建自定义身份验证器 154
74 授权 155
741 授权访问Presto REST API 155
742 配置系统访问控制 156
743 通过Apache Ranger 进行授权 158
75 本章小结159
第8 章 性能调优  161
81 性能调优简介 161
811 性能调优的原因 162
812 性能调优生命周期 162
82 查询执行模型 163
83 Presto 性能调优方法166
831 资源分配 166
832 存储 168
833 查询优化 168
84 Aria Scan 170
841 表扫描 170
842 重分区 171
85 实施性能调优 171
851 构建和导入MinIO 中的示例CSV 表 172
852 将CSV 表转换为ORC 173
853 定义优化参数 174
854 运行测试 174
86 本章小结179
第9 章 大规模运行Presto  181
91 可扩展性简介 181
911 扩展Presto 的原因 182
912 常见问题 182
92 设计考量184
921 可用性 184
922 可管理性 186
923 性能 187
924 保护 188
925 配置 189
93 如何扩展Presto 191
931 多协调器 191
932 在Spark 上运行Presto 192
933 数据溢写 194
94 使用云服务 195
95 本章小结196


有电书房店铺主页二维码
有电书房
扫描二维码,访问我们的微信店铺

Presto学习手册

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏