您现在的位置是: 首页 >  其他相关 书本信息

Presto技术内幕 (JD-Presto研发团队 ) 带书签 完整pdf扫描版[171MB]

qianhu2021-06-16 【其他相关】

简介Presto技术内幕 (JD-Presto研发团队 ) 带书签 完整pdf扫描版[171MB] ,Presto是专门为大数据实时查询计算而设计和开发的产品。由于Presto是基于Java语言开发的,因此,对使用者和开发者而言,Presto极易学习、使用并针对特定的业务场景进行改造开发和性能优化。有兴趣的可以下载学习

查看电子书下载链接

Presto是专门为大数据实时查询计算而设计和开发的产品。由于Presto是基于Java语言开发的,因此,对使用者和开发者而言,Presto极易学习、使用并针对特定的业务场景进行改造开发和性能优化。无论是对多数据源支持,还是高性能、易用性、可扩展性等方面, Presto都是大数据实时查询计算产品中的佼佼者。

《Presto技术内幕》按照由浅入深的顺序对Presto进行了全方位的细致讲解,具体内容包括Presto概述、 Presto安装与部署、 Presto RESTful框架解析、提交查询、生成查询执行计划、查询调度、查询执行、队列、System Connector、 Hive Connector、 Kafka Connector、 Connector开发、 Functions开发、 JD-Presto功能改造、 Presto性能调优、 Presto应用场景。

目录
第一部分 基础篇
第 1 章 Presto概述2
1.1 Presto 背景及发展2
1.2 Presto 特点2
1.3 基本概念3
1.3.1 Presto 服务进程3
1.3.2 Presto 模型4
1.3.3 Presto 查询执行模型 5
1.4 Presto 整体架构9
1.4.1 硬件架构9
1.4.2 软件架构9
1.5 小结11
第 2 章 Presto 安装与部署12
2.1 环境说明 12
2.2 准备工作13
2.2.1 建立 SSH 信任关系13
2.2.2 安装 Java 17
2.2.3 安装 Maven 17
2.2.4 安装 Hive 18
2.3 源码编译21
2.3.1 下载源码 21
2.3.2 源码结构说明 22
2.3.3 编译 26
2.4 部署 30
2.4.1 服务部署 30
2.4.2 客户端部署 38
2.4.3 JDBC 使用 40
2.5 小结 42
第二部分 核心设计篇
第 3 章 Presto RESTful 框架解析 44
3.1 Statement 服务接口 44
3.2 Query 服务接口 47
3.3 Stage 服务接口48
3.4 Task 服务接口49
3.5 小结 52
第 4 章 提交查询 53
4.1 提交查询的步骤 53
4.2 源码解析 53
4.3 提交查询的流程 60
4.4 小结 61
第 5 章 生成查询执行计划 62
5.1 基本概念 63
5.1.1 Node 63
5.1.2 Metadata API 67
5.2 词法与语法分析 68
5.2.1 语法规则 69
5.2.2 词法分析 69
5.2.3 语法分析 71
5.3 获取 QueryExecution 72
5.3.1 获取 QueryExecutionFactory 72
5.3.2 创建 QueryExecution 73
5.3.3 启动 QueryExecution 74
5.4 语义分析 77
5.4.1 Statement 分析 77
5.4.2 Relation 分析84
5.4.3 表达式分析 91
5.5 执行计划生成91
5.5.1 执行计划节点 91
5.5.2 SQL 执行计划93
5.5.3 Relation 执行计划95
5.5.4 Query 执行计划 99
5.6 执行计划优化102
5.6.1 ImplementSampleAsFilter 102
5.6.2 CanonicalizeExpressions 102
5.6.3 SimplifyExpressions 102
5.6.4 UnaliasSymbolReferences 103
5.6.5 PruneRedundantProjections 103
5.6.6 SetFlatteningOptimizer 103
5.6.7 LimitPushDown 104
5.6.8 PredicatePushDown 104
5.6.9 MergeProjections 104
5.6.10 ProjectionPushDown 104
5.6.11 IndexJoinOptimizer105
5.6.12 CountConstantOptimizer 105
5.6.13 WindowFilterPushDown 105
5.6.14 HashGenerationOptimizer 105
5.6.15 PruneUnreferencedOutputs 106
5.6.16 MetadataQueryOptimizer 106
5.6.17 SingleDistinctOptimizer 106
5.6.18 BeginTableWrite 106
5.6.19 AddExchanges 107
5.6.20 PickLayout 107
5.7 执行计划分段107
5.7.1 Source 107
5.7.2 Fixed 107
5.7.3 Single 107
5.7.4 Coordinator_only 107
5.8 示例108
5.8.1 Count 执行计划108
5.8.2 Join 执行计划108
5.9 小结110
第 6 章 查询调度 111
6.1 生成调度执行器 111
6.2 查询调度过程 113
6.2.1 NodeManager 114
6.2.2 NodeSelector 115
6.3 小结 118
第 7 章 查询执行 119
7.1 查询执行逻辑 120
7.2 Task 调度120
7.2.1 Source Task 调度120
7.2.2 Fixed Task 调度126
7.2.3 Single Task 调度 128
7.2.4 Coordinator_Only Task 调度 128
7.3 Task 执行129
7.3.1 创建 Task 129
7.3.2 更新 Task 135
7.3.3 运行 Task 140
7.4 小结 147
第 8 章 队列 148
8.1 配置说明 148
8.1.1 queues 队列定义149
8.1.2 rules 规则定义 149
8.2 队列加载 150
8.3 队列匹配 151
8.4 小结 154
第 9 章 System Connector 155
9.1 System Connector 使用155
9.1.1 Information_schema 155
9.1.2 Metadata 157
9.1.3 Runtime 157
9.2 System Connector 实现159
9.2.1 Information_schema 实现160
9.2.2 System Connector 实现163
9.3 小结 168
第 10 章 Hive Connector 169
10.1 与 Hive 的结合 170
10.2 Split 分片管理 175
10.3 数据读取179
10.4 Create Table As Select 的实现 182
10.5 小结186
第 11 章 Kafka Connector 187
11.1 认识 Kafka Connector 187
11.1.1 配置187
11.1.2 配置属性187
11.1.3 内置字段189
11.1.4 表定义文件190
11.1.5 Kafka 中的 key 和 message 191
11.1.6 行解码192
11.1.7 日期和时间解码器194
11.1.8 文本解码器194
11.1.9 数值解码器194
11.2 Kafka 连接器使用教程194
11.2.1 安装 Apache Kafka195
11.2.2 下载数据195
11.2.3 在 Presto 中配置 Kafka topics 197
11.2.4 基本数据查询197
11.2.5 添加表定义文件199
11.2.6 将 message 中所有值映射到不同列200
11.2.7 使用实时数据202
11.3 Kafka Connector 获取数据 207
11.3.1 Split 分片管理207
11.3.2 数据读取209
11.4 小结210
第 12 章 Connector 开发211
12.1 创建 Maven 工程 211
12.2 注册 Plugin 213
12.3 Connector 213
12.4 Metadata 215
12.5 SplitManager 217
12.6 RecordSetProvider 218
12.7 小结 219
第 13 章 Functions 开发220
13.1 Function 注册 220
13.2 窗口函数 225
13.3 聚合函数 229
13.4 小结 232
第三部分 高级篇
第 14 章 JD-Presto 功能改造234
14.1 PDBO 功能开发234
14.1.1 JDBC Split 剖析235
14.1.2 JdbcRecordCursor 剖析 238
14.1.3 分批次读取实现原理 240
14.1.4 动态步长实现原理 243
14.1.5 条件下发 245
14.1.6 PDBO 配置定义 247
14.2 DDL 及 DML 支持 250
14.2.1 Hive 连接器 Insert 功能 250
14.2.2 Hive 连接器 CTAS 动态分区表功能 252
14.3 动态增加、修改、删除 Catalog 254
14.3.1 目的 254
14.3.2 现状 254
14.3.3 实现 255
14.3.4 效果 258
14.4 小结 258
第 15 章 Presto 性能调优259
15.1 合理设计分区 259
15.2 Group By 字句优化 259
15.3 使用模糊聚合函数 259
15.4 合并多条 Like 子句为一条 regexp_like 子句260
15.5 大表放在 Join 子句左边260
15.6 关闭 distributed hash join 261
15.7 使用 ORC 存储 261
15.8 小结 262
第 16 章 Presto 应用场景 263
16.1 ETL 263
16.2 实时数据计算264
16.3 Ad-Hoc 查询266
16.4 实时数据流分析266
16.5 小结268
附录 A 常见问题及解决办法269
A.1 同时访问两个 Hadoop 集群269
A.2 Kafka 集群重启后无法获取数据272
A.3 Task exceeded max memory size 277
A.4 SQL 中 In 子句太长导致栈溢出错误278
A.5 高并发导致大量查询出错279
附录 B Presto 配置参数说明 282
附录 C Presto 执行信息说明289

.

点击下载电子书

相关文章

  • 计算机视觉:模型、学习和推理 带目录扫描版pdf[97MB]

    计算机视觉:模型、学习和推理 带目录扫描版pdf[97MB] ,本书是一本从机器学习视角讲解计算机视觉的非常好的教材。全书图文并茂、语言浅显易懂,算法描述由浅入深,即使是数学背景不强的学生也能轻松理解和掌握

  • 中文版3ds Max 2016完全自学教程 全彩pdf完整版[41MB]

    中文版3ds Max 2016完全自学教程 全彩pdf完整版[41MB],这是一本全面介绍中文版3ds Max 2016基本功能及实际运用的教程书,结合大量的可操作性实例,完全针对零基础读者编写,是入门级读者快速、全面掌握3ds Max 2016技术及应用的参考书

  • Linux性能优化 (菲利普G.伊佐特等著) 带目录完整pdf[47MB]

    Linux性能优化 (菲利普G.伊佐特等著) 带目录完整pdf[47MB] ,本书介绍了当前常用的Linux优化工具,展示了它们是如何行之有效地提升整体应用程序性能的。非常具有实用价值,需要的朋友可以下载参考下

  • IIS多站点用户隔离教程flash版

    IIS多站点用户隔离教程flash版,保你网站安全,不被别的有漏洞的网站影响

  • Visual FoxPro 6.0 中文版程序员指南 WDL版

    Visual FoxPro 6.0 中文版程序员指南 WDL版,本书详细介绍 Visual FoxPro 应用程序的开发过程。通过本书的学习,您将了解到如何利用 Visual FoxPro 的设计工具和面向对象程序设计技术来创建应用程序

  • JDK API 1.7 中文参考手册 高清完整版 CHM

    JDK API 1.7 中文参考手册 高清完整版 CHM,JDK API 1.7 CHM中文版是一款JAVA1.7中文版的API帮助文档,可以帮助使用java,jdk的用户们通过api及时查找到对应的类,接口,框架等详细信息的帮助手册