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