热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

Presto实战

编号:
wx1202318950
销售价:
¥85.14
(市场价: ¥99.00)
赠送积分:
85
数量:
   
商品介绍

1.Presto是由Facebook开源的高性能分布式SQL查询引擎,其用户包括Netflix、Airbnb、LinkedIn、Twitter、Uber等知名公司。
2.作为高性能分布式SQL查询引擎,Presto能够针对不同的数据源高效、快速地执行交互式分析。大数据的兴起使得数据存储机制多样化。面对标准不一的存储系统,你可以利用Presto轻松打破壁垒,连通数据孤岛。
3.本书由Presto项目创始成员参与执笔。你将学会用简单的Presto语句快速查询多个数据源,把握SQL-on-Anything的精髓。在任何规模、任何存储系统、任何环境中,你都能发挥SQL的威力。

- 入门:探索Presto的用例,学习安装、配置和使用Presto。
- 进阶:深入理解Presto的架构,学习连接器实例和SQL不错特性。
- 实践:了解如何在生产环境中使用Presto,保证安全性,与其他工具集成。

随着各行各业对大数据实时查询的需求持续增长,数据查询及分析引擎正变得不可或缺。Presto是由Facebook开源的高性能分布式SQL查询引擎,其用户包括Netflix、Airbnb、LinkedIn、Twitter、Uber等知名公司。本书由Presto的核心开发人员参与撰写,教你系统地学习Presto的用法。书中内容涵盖Presto的安装、设计理念、查询操作、很好实践、与主要云平台的结合等。本书分为三大部分:部分介绍Presto的基础知识;第二部分更进一步,介绍Presto架构、集群部署、与数据源的连接等;第三部分讲解安全配置以及Presto的实际用例。你可以通过本书学会针对不同的数据源快速执行交互式SQL数据分析,并利用Presto管理和使用海量数据。

马特·富勒(Matt Fuller)
Starburst公司联合创始人。

曼弗雷德·莫泽(Manfred Moser)
开源社区拥护者、技术作家、培训师,Starburst公司软件工程师。

马丁·特拉韦尔索(Martin Traverso)
Presto项目创始成员,Presto软件基金会联合创始人,Starburst公司首席技术官。


【译者简介】

张晨
毕业于上海交通大学,热爱大数据技术、数据库、分布式系统和函数式编程,现于Indeed东京担任软件工程师。

黄鹏程
毕业于北京邮电大学,专注于数据库和大数据平台的开发与架构工作。曾就职于中国民生银行,担任大数据基础架构团队负责人。现任阿里云不错产品专家,负责阿里云数据库相关产品的设计与规划工作。

傅宇
毕业于南京大学,专注于数据库技术,现任阿里云技术专家,担任PolarDB-X云原生分布式数据库内核研发工作,熟悉分布式事务、查询优化器和执行器,对大数据领域充满热情。

译者序  xv
序  xvii
前言  xix
第 一部分  Presto  入门
第 1章  Presto  介绍  3
1.1  大数据带来的问题  3
1.2  Presto来救场  4
1.2.1  为性能和规模而生  5
1.2.2  SQL-on-Anything  5
1.2.3  存储与计算分离  6
1.3  Presto使用场景  6
1.3.1  单一的SQL分析访问点  7
1.3.2  数据仓库和数据源系统的访问点  7
1.3.3  提供对任何内容的SQL访问  8
1.3.4  联邦查询  9
1.3.5  虚拟数据仓库的语义层  9
1.3.6  数据湖查询引擎  9
1.3.7  SQL转换和ETL10
1.3.8  更快的响应带来更好的数据见解  10
1.3.9  大数据、机器学习和人工智能  10
1.3.10  其他使用场景  11
1.4  Presto  资源  11
1.4.1  官方网站  11
1.4.2  文档  12
1.4.3  社区交流  12
1.4.4  源代码、许可证和版本  12
1.4.5  贡献  12
1.4.6  本书资源  13
1.4.7  鸢尾花数据集  13
1.4.8  航班数据集  14
1.5  Presto简史  14
1.6  小结  15
第 2章  安装和配置Presto  16
2.1  使用Docker容器尝试Presto  16
2.2  使用归档文件安装  17
2.2.1  JVM  17
2.2.2  Python  18
2.2.3  安装  18
2.2.4  配置  19
2.3  添加数据源  20
2.4  运行Presto  21
2.5  小结  21
第3章  使用Presto  22
3.1  Presto CLI  22
3.1.1  使用入门  22
3.1.2  分页  25
3.1.3  命令历史  25
3.1.4  额外诊断  25
3.1.5  执行查询  25
3.1.6  输出格式  26
3.1.7  忽略错误  26
3.2  Presto JDBC驱动  27
3.2.1  下载和注册驱动  28
3.2.2  创建到Presto的连接  29
3.3  Presto与ODBC  31
3.4  客户端库  31
3.5  Presto Web UI  31
3.6  使用Presto执行SQL  32
3.6.1  概念  33
3.6.2  入门案例  33
3.7  小结  36
第二部分  深入理解Presto
第4章  Presto的架构  39
4.1  集群中的协调器和工作节点  39
4.2  协调器  41
4.3  节点发现服务  41
4.4  工作节点  42
4.5  基于连接器的架构  42
4.6  catalog、schema和表  43
4.7  查询执行模型  44
4.8  查询优化  47
4.8.1  解析和分析  48
4.8.2  初始查询计划  49
4.9  优化规则  50
4.9.1  谓词下推  51
4.9.2  Cross Join  消除  51
4.9.3  TopN  52
4.9.4  局部聚合  52
4.10  实现规则  53
4.10.1  Lateral Join  去关联化  53
4.10.2  Semi-join(IN)去关联化  54
4.11  基于代价的优化器  55
4.11.1  代价的概念  55
4.11.2  Join的代价  57
4.11.3  表统计信息  57
4.11.4  过滤统计信息  58
4.11.5  分区表的统计信息  59
4.11.6  Join枚举  60
4.11.7  广播Join和分布式Join  60
4.12  使用表统计信息  62
4.12.1  Presto的ANALYZE  命令  62
4.12.2  在写入存储时收集数据  63
4.12.3  Hive的ANALYZE  命令  63
4.12.4  显示表统计信息  63
4.13  小结  64
第5章  生产环境部署  65
5.1  配置细节  65
5.2  服务端配置  65
5.3  日志  66
5.4  节点配置  67
5.5  JVM配置  68
5.6  启动器  69
5.7  集群安装  70
5.8  使用RPM安装  72
5.8.1  安装目录结构  72
5.8.2  配置  73
5.8.3  卸载Presto  73
5.9  在云上安装  73
5.10  集群规模的考量  74
5.11  小结  74
第6章  连接器  75
6.1  配置  76
6.2  RDBMS连接器示例:PostgreSQL  76
6.2.1  查询下推  78
6.2.2  并行性和并发性  79
6.2.3  其他RDBMS连接器  80
6.2.4  安全性  81
6.3  Presto TPC-H和TPC-DS连接器  81
6.4  用于分布式存储数据源的Hive  连接器  82
6.4.1  Apache Hadoop和Hive  82
6.4.2  Hive连接器  83
6.4.3  Hive式表格式  85
6.4.4  内部表与外部表  85
6.4.5  分区数据  87
6.4.6  加载数据  88
6.4.7  文件格式和压缩  90
6.4.8  MinIO示例  91
6.5  非关系数据源  91
6.6  Presto JMX  连接器  92
6.7  黑洞连接器  94
6.8  内存连接器  94
6.9  其他连接器  95
6.10  小结  95
第7章  不错连接器实例  96
7.1  用Phoenix连接HBase  96
7.2  键值存储连接器示例:Accumulo  97
7.2.1  使用Presto Accumulo连接器  100
7.2.2  Accumulo中的谓词下推  102
7.3  Apache Cassandra  连接器  103
7.4  流式系统连接器示例:Kafka  104
7.5  文档存储连接器示例:Elasticsearch  106
7.5.1  概述  106
7.5.2  配置和使用方法  106
7.5.3  查询处理  107
7.5.4  全文搜索  107
7.5.5  总结  108
7.6  Presto中的联邦查询  108
7.7  ETL和联合查询  114
7.8  小结  114
第8章  在Presto中使用SQL  115
8.1  Presto语句  116
8.2  Presto系统表  118
8.3  catalog  120
8.4  schema  120
8.5  Information Schema  121
8.6  表  122
8.6.1  表和列属性  124
8.6.2  复制现有的表  125
8.6.3  从查询结果中新建表  126
8.6.4  修改表  127
8.6.5  删除表  127
8.6.6  连接器对表操作的限制  127
8.7  视图  128
8.8  会话信息和配置  128
8.9  数据类型  129
8.9.1  集合数据类型  131
8.9.2  时态数据类型  132
8.9.3  类型转换  135
8.10  SELECT语句基础  136
8.11  WHERE子句  137
8.12  GROUP BY和HAVING子句  138
8.13  ORDER BY子句和LIMIT子句  140
8.14  JOIN语句  140
8.15  UNION、INTERSECT和EXCEPT子句  141
8.16  分组操作  143
8.17  WITH子句  144
8.18  子查询  145
8.18.1  标量子查询  145
8.18.2  EXISTS子查询  146
8.18.3  集合比较子查询  146
8.19  从表中删除数据  147
8.20  小结  147
第9章  不错SQL特性  148
9.1  函数和运算符介绍  148
9.2  标量函数和运算符  149
9.3  布尔运算符  150
9.4  逻辑运算符  151
9.5  用BETWEEN语句选择范围  152
9.6  用IS(NOT) NULL检测值的存在  152
9.7  数学函数和运算符  152
9.8  三角函数153
9.9  常数和随机函数  154
9.10  字符串函数和运算符  154
9.11  字符串和映射  155
9.12  Unicode  156
9.13  正则表达式  158
9.14  解嵌套复杂数据类型  160
9.15  JSON函数  161
9.16  日期和时间函数及运算符  161
9.17  直方图  164
9.18  聚合函数  165
9.18.1  映射聚合函数  165
9.18.2  近似聚合函数  167
9.19  窗函数  168
9.20  lambda表达式  169
9.21  地理空间函数  170
9.22  Prepared Statement  171
9.23  小结  173
第三部分  Presto的实际应用
第 10章  安全  177
10.1  认证  178
10.2  授权  181
10.2.1  系统访问控制  181
10.2.2  连接器访问控制  184
10.3  加密  186
10.3.1  加密Presto客户端与协调器之间的通信  188
10.3.2  创建Java keystore和Java truststore  190
10.3.3  在Presto集群内加密通信  192
10.4  CA与自签名证书  193
10.5  证书认证  194
10.6  Kerberos  197
10.6.1  前提条件  198
10.6.2  Kerberos客户端认证  198
10.6.3  集群内部Kerberos  198
10.7  数据源访问和安全配置  199
10.8  使用Hive连接器进行Kerberos验证  200
10.8.1  Hive Metastore Thrift服务认证  201
10.8.2  HDFS认证  201
10.9  集群分离  202
10.10  小结  202
第 11章  将Presto与其他工具集成  203
11.1  使用Apache Superset进行查询、可视化和更多操作  203
11.2  使用RubiX提高性能  204
11.3  使用Apache Airflow的工作流  205
11.4  嵌入式Presto示例:Amazon Athena  205
11.5  Starburst企业版Presto  208
11.6  其他集成案例  208
11.7  自定义集成  209
第 12章  生产环境中的Presto  211
12.1  使用Presto Web UI监控  211
12.1.1  集群级的细节  212
12.1.2  查询列表  213
12.1.3  查询细节视图  215
12.2  Presto SQL查询调优  221
12.3  内存管理  223
12.4  任务并发性  226
12.5  工作节点调度  227
12.5.1  根据任务或节点调度切片  227
12.5.2  本地调度策略  227
12.6  网络数据交换  228
12.6.1  并发性  228
12.6.2  缓冲区大小  228
12.7  JVM调优  228
12.8  资源组  230
12.8.1  资源组的定义  231
12.8.2  调度策略  232
12.8.3  选择器规则定义  233
12.9  小结  233
第 13章  真实世界的案例  234
13.1  部署和运行时平台  234
13.2  集群规模  235
13.3  Hadoop/Hive迁移的使用场景  237
13.4  其他数据源  237
13.5  用户和流量  237
13.6  小结  238
第 14章  总结  239
关于作者  240
关于封面  240

"你可以通过这本书学习从使用场景到如何大规模运行Presto集群的重要知识。"
--Ashish Kumar Singh,Pinterest大数据查询处理平台技术负责人

"如果想构建现代化的分析技术栈,那么这本书值得一读。"
--Jay Kreps,Apache Kafka联合创作者

"近些年,Presto社区成长迅速。作为又一款SQL-on-Hadoop查询引擎,它兼具很好的性能、易用的接口和简洁的设计。国内外包括阿里巴巴在内的许多公司使用它,其优良的架构也让用户很容易进行定制和扩展。这本书既可以作为学习Presto的实战入门指南,也可以当作手册供随时查阅。无论你之前是否使用过Presto,相信你都能从中受益。"
--曹伟,PolarDB创始人,阿里巴巴研究员

"Presto如何超越一时轰动的Impala和拥趸众多的Spark成为交互式分析的龙头?带着这个疑问,我快速看完了全书,颇有点后知后觉、相见恨晚的感觉。Presto一改大数据的窠臼,基于SQL-on-Anything的理念和开源开放的工程实践对接大小各种数据源,降低了解决实际问题的门槛,难怪大家都喜欢。这本书翻译流畅,紧跟业界进展。开源大数据爱好者可以先不要急着掉进源代码细节里,而是从这本书的内容起步,从问题和场景入手,搞懂大数据。"
--郑锴,Apache Hadoop PMC成员,阿里巴巴不错技术专家

"Presto引擎在大数据领域的重要性不言而喻,但参考资料屈指可数,这本书正是大家期待的那本'官方指南'。无论是SQL编写、技术调研、运维部署,还是二次开发,都值得一读。书中第三部分为企业级应用做了详细解答,是一大亮点。"
--腾讯Presto Oteam团队

商品参数
基本信息
出版社 人民邮电出版社
ISBN 9787115560056
条码 9787115560056
编者 [美] 马特·富勒(Matt Fuller)[美] 曼弗雷德·莫泽(Manfred Moser)[美] 马丁·特拉韦尔索(Martin Traverso)
译者
出版年月 2021-03-01 00:00:00.0
开本 16开
装帧 平装
页数 241
字数
版次 1
印次 1
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]