1.Presto是由Facebook源的高性能分布式SQL查询引擎,其用户包括Netflix、Airbnb、LinkedIn、Twitter、Uber等知名公司。 2.作为高性能分布式SQL查询引擎,Presto能够针对不同的数据源高效、快速地执行交互式分析。大数据的兴起使得数据存储机制多样化。面对标准不一的存储系统,你可以利用Presto轻松破壁垒,连通数据孤岛。 3.本书由Presto项目创始成员参与执笔。你将学会用简单的Presto语句快速查询多个数据源,把握SQL-on-Anything的精髓。在任何规模、任何存储系统、任何环境中,你都能发挥SQL的威力。
售 价:¥
纸质售价:¥73.70购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版权声明
O'Reilly Media, Inc. 介绍
业界评论
本书赞誉
译者序
前言
关于本书
排版约定
代码示例、授权和引用说明
O'Reilly在线学习平台(O'Reilly Online Learning)
联系我们
致谢
更多信息
第一部分 Presto 入门
第 1 章 Presto介绍
1.1 大数据带来的问题
1.2 Presto来救场
1.2.1 为性能和规模而生
1.2.2 SQL-on-Anything
1.2.3 存储与计算分离
1.3 Presto使用场景
1.3.1 单一的SQL分析访问点
1.3.2 数据仓库和数据源系统的访问点
1.3.3 提供对任何内容的SQL访问
1.3.4 联邦查询
1.3.5 虚拟数据仓库的语义层
1.3.6 数据湖查询引擎
1.3.7 SQL转换和ETL
1.3.8 更快的响应带来更好的数据见解
1.3.9 大数据、机器学习和人工智能
1.3.10 其他使用场景
1.4 Presto资源
1.4.1 官方网站
1.4.2 文档
1.4.3 社区交流
1.4.4 源代码、许可证和版本
1.4.5 贡献
1.4.6 本书资源
1.4.7 鸢尾花数据集
1.4.8 航班数据集
1.5 Presto简史
1.6 小结
第 2 章 安装和配置 Presto
2.1 使用Docker容器尝试Presto
2.2 使用归档文件安装
2.2.1 JVM
2.2.2 Python
2.2.3 安装
2.2.4 配置
2.3 添加数据源
2.4 运行Presto
2.5 小结
第 3 章 使用Presto
3.1 Presto CLI
3.1.1 使用入门
3.1.2 分页
3.1.3 命令历史
3.1.4 额外诊断
3.1.5 执行查询
3.1.6 输出格式
3.1.7 忽略错误
3.2 Presto JDBC驱动
3.2.1 下载和注册驱动
3.2.2 创建到Presto的连接
3.3 Presto与ODBC
3.4 客户端库
3.5 Presto Web UI
3.6 使用Presto执行SQL
3.6.1 概念
3.6.2 入门案例
3.7 小结
第二部分 深入理解Presto
第 4 章 Presto的架构
4.1 集群中的协调器和工作节点
4.2 协调器
4.3 节点发现服务
4.4 工作节点
4.5 基于连接器的架构
4.6 catalog、schema和表
4.7 查询执行模型
4.8 查询优化
4.8.1 解析和分析
4.8.2 初始查询计划
4.9 优化规则
4.9.1 谓词下推
4.9.2 Cross Join消除
4.9.3 TopN
4.9.4 局部聚合
4.10 实现规则
4.10.1 Lateral Join去关联化
4.10.2 Semi-join(IN)去关联化
4.11 基于代价的优化器
4.11.1 代价的概念
4.11.2 Join的代价
4.11.3 表统计信息
4.11.4 过滤统计信息
4.11.5 分区表的统计信息
4.11.6 Join枚举
4.11.7 广播Join和分布式Join
4.12 使用表统计信息
4.12.1 Presto的ANALYZE命令
4.12.2 在写入存储时收集数据
4.12.3 Hive的ANALYZE命令
4.12.4 显示表统计信息
4.13 小结
第 5 章 生产环境部署
5.1 配置细节
5.2 服务端配置
5.3 日志
5.4 节点配置
5.5 JVM配置
5.6 启动器
5.7 集群安装
5.8 使用RPM安装
5.8.1 安装目录结构
5.8.2 配置
5.8.3 卸载Presto
5.9 在云上安装
5.10 集群规模的考量
5.11 小结
第 6 章 连接器
6.1 配置
6.2 RDBMS连接器示例:PostgreSQL
6.2.1 查询下推
6.2.2 并行性和并发性
6.2.3 其他RDBMS连接器
6.2.4 安全性
6.3 Presto TPC-H和TPC-DS连接器
6.4 用于分布式存储数据源的Hive连接器
6.4.1 Apache Hadoop和Hive
6.4.2 Hive连接器
6.4.3 Hive式表格式
6.4.4 内部表与外部表
6.4.5 分区数据
6.4.6 加载数据
6.4.7 文件格式和压缩
6.4.8 MinIO示例
6.5 非关系数据源
6.6 Presto JMX连接器
6.7 黑洞连接器
6.8 内存连接器
6.9 其他连接器
6.10 小结
第 7 章 高级连接器实例
7.1 用Phoenix连接HBase
7.2 键值存储连接器示例:Accumulo
7.2.1 使用Presto Accumulo连接器
7.2.2 Accumulo中的谓词下推
7.3 Apache Cassandra连接器
7.4 流式系统连接器示例:Kafka
7.5 文档存储连接器示例:Elasticsearch
7.5.1 概述
7.5.2 配置和使用方法
7.5.3 查询处理
7.5.4 全文搜索
7.5.5 总结
7.6 Presto中的联邦查询
7.7 ETL和联合查询
7.8 小结
第 8 章 在Presto中使用SQL
8.1 Presto语句
8.2 Presto系统表
8.3 catalog
8.4 schema
8.5 Information Schema
8.6 表
8.6.1 表和列属性
8.6.2 复制现有的表
8.6.3 从查询结果中新建表
8.6.4 修改表
8.6.5 删除表
8.6.6 连接器对表操作的限制
8.7 视图
8.8 会话信息和配置
8.9 数据类型
8.9.1 集合数据类型
8.9.2 时态数据类型
8.9.3 类型转换
8.10 SELECT语句基础
8.11 WHERE子句
8.12 GROUP BY和HAVING子句
8.13 ORDER BY子句和LIMIT子句
8.14 JOIN语句
8.15 UNION、INTERSECT和EXCEPT子句
8.16 分组操作
8.17 WITH子句
8.18 子查询
8.18.1 标量子查询
8.18.2 EXISTS子查询
8.18.3 集合比较子查询
8.19 从表中删除数据
8.20 小结
第 9 章 高级SQL特性
9.1 函数和运算符介绍
9.2 标量函数和运算符
9.3 布尔运算符
9.4 逻辑运算符
9.5 用BETWEEN语句选择范围
9.6 用IS (NOT) NULL检测值的存在
9.7 数学函数和运算符
9.8 三角函数
9.9 常数和随机函数
9.10 字符串函数和运算符
9.11 字符串和映射
9.12 Unicode
9.13 正则表达式
9.14 解嵌套复杂数据类型
9.15 JSON函数
9.16 日期和时间函数及运算符
9.17 直方图
9.18 聚合函数
9.18.1 映射聚合函数
9.18.2 近似聚合函数
9.19 窗函数
9.20 lambda表达式
9.21 地理空间函数
9.22 Prepared Statement
9.23 小结
第三部分 Presto的实际应用
第 10 章 安全
10.1 认证
密码认证和LDAP认证
10.2 授权
10.2.1 系统访问控制
10.2.2 连接器访问控制
10.3 加密
10.3.1 加密Presto客户端与协调器之间的通信
10.3.2 创建Java keystore和Java truststore
10.3.3 在Presto集群内加密通信
10.4 CA与自签名证书
10.5 证书认证
10.6 Kerberos
10.6.1 前提条件
10.6.2 Kerberos客户端认证
10.6.3 集群内部Kerberos
10.7 数据源访问和安全配置
10.8 使用Hive连接器进行Kerberos验证
10.8.1 Hive Metastore Thrift服务认证
10.8.2 HDFS认证
10.9 集群分离
10.10 小结
第 11 章 将Presto与其他工具集成
11.1 使用Apache Superset进行查询、可视化和更多操作
11.2 使用RubiX提高性能
11.3 使用Apache Airflow的工作流
11.4 嵌入式Presto示例:Amazon Athena
11.5 Starburst企业版Presto
11.6 其他集成案例
11.7 自定义集成
11.8 小结
第 12 章 生产环境中的Presto
12.1 使用Presto Web UI监控
12.1.1 集群级的细节
12.1.2 查询列表
12.1.3 查询细节视图
12.2 Presto SQL查询调优
12.3 内存管理
12.4 任务并发性
12.5 工作节点调度
12.5.1 根据任务或节点调度切片
12.5.2 本地调度策略
12.6 网络数据交换
12.6.1 并发性
12.6.2 缓冲区大小
12.7 JVM调优
12.8 资源组
12.8.1 资源组的定义
12.8.2 调度策略
12.8.3 选择器规则定义
12.9 小结
第 13 章 真实世界的案例
13.1 部署和运行时平台
13.2 集群规模
13.3 Hadoop/Hive迁移的使用场景
13.4 其他数据源
13.5 用户和流量
13.6 小结
第 14 章 总结
关于作者
关于封面
看完了
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜