Presto技术内幕
¥
11.5
1.7折
¥
69
九五品
仅1件
作者JD-Presto研发团队 著
出版社电子工业出版社
ISBN9787121285639
出版时间2016-07
版次1
装帧平装
开本16开
纸张胶版纸
页数312页
字数99999千字
定价69元
上书时间2024-12-02
商品详情
- 品相描述:九五品
- 商品描述
-
基本信息
书名:Presto技术内幕
定价:69.00元
作者:JD-Presto研发团队 著
出版社:电子工业出版社
出版日期:2016-07-01
ISBN:9787121285639
字数:490000
页码:312
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
《Presto技术内幕》由浅入深地详细介绍了Presto的安装过程、内部运行原理机制、功能特性、性能优化方法,以及在应用过程中常见的问题及解决方案等,同时详细介绍了-Presto 版本的许多新功能及其适用的业务场景,这些功能的成功研发,使得-Presto 版本不仅仅可用于离线大数据分析计算来提升性能,还可用于多种数据源混合进行实时大数据分析计算,使一些使用其他大数据技术不能解决的业务场景有了一个全新有效的解决方案。适合读者:Java 研发工程师;在大数据技术领域从业的研发工程师、运维工程师、架构师;对大数据研究方向感兴趣的大学老师和学生、以及大数据技术的入门学者;从事海量数据分析应用的开发者、研究者。
内容提要
Presto是专门为大数据实时查询计算而设计和开发的产品。由于Presto是基于Java语言开发的,?因此,对使用者和开发者而言, Presto极易学习、使用并针对特定的业务场景进行改造开发和性能优化。无论是对多数据源支持,还是高性能、易用性、可扩展性等方面, Presto都是大数据实时查询计算产品中的佼佼者。《Presto技术内幕》按照由浅入深的顺序对Presto进行了全方位的细致讲解,具体内容包括Presto概述、 Presto安装与部署、 Presto RESTful框架解析、提交查询、生成查询执行计划、查询调度、查询执行、队列、System Connector、 Hive Connector、 Kafka Connector、 Connector开发、 Functions开发、 -Presto功能改造、 Presto性能调优、 Presto应用场景。
目录
部分 基础篇 章 Presto概述21.1Presto 背景及发展21.2Presto 特点21.3 基本概念31.3.1Presto 服务进程31.3.2Presto 模型41.3.3Presto 查询执行模型 51.4Presto 整体架构91.4.1 硬件架构91.4.2 软件架构91.5 小结11第 2 章 Presto 安装与部署122.1 环境说明 122.2 准备工作132.2.1 建立 SSH 信任关系132.2.2 安装 Java 172.2.3 安装 Maven 172.2.4 安装 Hive 182.3 源码编译212.3.1 下载源码 212.3.2 源码结构说明 222.3.3 编译 262.4 部署 302.4.1 服务部署 302.4.2 客户端部署 382.4.3BC 使用 402.5 小结 42第二部分 核心设计篇第 3 章 Presto RESTful 框架解析 443.1Statement 服务接口 443.2 Query服务接口 473.3 Stage服务接口483.4 Task 服务接口493.5 小结 52第 4 章 提交查询 534.1 提交查询的步骤 534.2 源码解析 534.3 提交查询的流程 604.4 小结 61第 5 章 生成查询执行计划 625.1 基本概念 635.1.1Node 635.1.2Metadata API 675.2 词法与语法分析 685.2.1 语法规则 695.2.2 词法分析 695.2.3 语法分析 715.3 获取 QueryExecution 725.3.1 获取 QueryExecutionFactory 725.3.2 创建 QueryExecution 735.3.3 启动 QueryExecution 745.4 语义分析 775.4.1Statement 分析 775.4.2Relation 分析845.4.3 表达式分析 915.5 执行计划生成915.5.1 执行计划节点 915.5.2 SQL执行计划935.5.3Relation 执行计划955.5.4Query 执行计划 995.6 执行计划优化1025.6.1ImplementSampleAsFilter 1025.6.2CanonicalizeExpressions 1025.6.3SimplifyExpressions 1025.6.4UnaliasSymbolReferences 1035.6.5PruneRedundantProjections 1035.6.6SetFlatteningOptimizer 1035.6.7LimitPushDown 1045.6.8PredicatePushDown 1045.6.9MergeProjections 1045.6.10 ProjectionPushDown1045.6.11IndexJoinOptimizer1055.6.12CountConstantOptimizer 1055.6.13WindowFilterPushDown 1055.6.14HashGenerationOptimizer 1055.6.15PruneUnreferencedOutputs 1065.6.16MetadataQueryOptimizer 1065.6.17SingleDistinctOptimizer 1065.6.18BeginTableWrite 1065.6.19AddExchanges 1075.6.20PickLayout 1075.7 执行计划分段1075.7.1Source 1075.7.2Fixed 1075.7.3Single 1075.7.4Coordinator_only 1075.8 示例1085.8.1Count 执行计划1085.8.2Join 执行计划1085.9 小结110第 6 章 查询调度 1116.1 生成调度执行器 1116.2 查询调度过程 1136.2.1NodeManager 1146.2.2NodeSelector 1156.3 小结 118第 7 章 查询执行 1197.1 查询执行逻辑 1207.2 Task 调度1207.2.1Source Task 调度1207.2.2Fixed Task 调度1267.2.3Single Task 调度 1287.2.4Coordinator_Only Task 调度 1287.3 Task 执行1297.3.1 创建 Task 1297.3.2 更新 Task 1357.3.3 运行 Task 1407.4 小结 147第 8 章 队列 1488.1 配置说明 1488.1.1queues 队列定义1498.1.2rules 规则定义 1498.2 队列加载 1508.3 队列匹配 1518.4 小结 154第 9 章 System Connector 1559.1System Connector 使用1559.1.1Information_schema 1559.1.2Metadata 1579.1.3Runtime 1579.2System Connector 实现1599.2.1Information_schema 实现1609.2.2System Connector 实现1639.3 小结 1680 章 Hive Connector 16910.1 与 Hive 的结合 17010.2Split 分片管理 17510.3 数据读取17910.4Create Table As Select 的实现 18210.5 小结1861 章 Kafka Connector 18711.1 认识 Kafka Connector 18711.1.1 配置18711.1.2 配置属性18711.1.3 内置字段18911.1.4 表定义文件19011.1.5Kafka 中的 key 和 message 19111.1.6 行解码19211.1.7 日期和时间解码器19411.1.8 文本解码器19411.1.9 数值解码器19411.2Kafka 连接器使用教程19411.2.1 安装 Apache Kafka19511.2.2 下载数据19511.2.3 在 Presto 中配置 Kafka topics 19711.2.4 基本数据查询19711.2.5 添加表定义文件19911.2.6 将 message 中所有值映射到不同列20011.2.7 使用实时数据20211.3Kafka Connector 获取数据 20711.3.1Split 分片管理20711.3.2 数据读取20911.4 小结2102 章 Connector 开发21112.1 创建 Maven 工程 21112.2 注册 Plugin 21312.3Connector 21312.4Metadata 21512.5SplitManager 21712.6RecordSetProvider 21812.7 小结 2193 章 Functions 开发22013.1Function 注册 22013.2 窗口函数 22513.3 聚合函数 22913.4 小结 232第三部分 高级篇4 章 -Presto 功能改造23414.1 PDBO功能开发23414.1.1BC Split 剖析23514.1.2JdbcRecordCursor 剖析 23814.1.3 分批次读取实现原理 24014.1.4 动态步长实现原理 24314.1.5 条件下发 24514.1.6PDBO 配置定义 24714.2 DDL 及 DML 支持 25014.2.1Hive 连接器 Insert 功能 25014.2.2Hive 连接器 CTAS 动态分区表功能 25214.3 动态增加、修改、删除 Catalog 25414.3.1 目的 25414.3.2 现状 25414.3.3 实现 25514.3.4 效果 25814.4 小结 2585 章 Presto 性能调优25915.1 合理设计分区 25915.2Group By 字句优化 25915.3 使用模糊聚合函数 25915.4 合并多条 Like 子句为一条 regexp_like 子句26015.5 大表放在 Join 子句左边26015.6 关闭 distributed hash join 26115.7 使用 ORC 存储 26115.8 小结 2626 章 Presto 应用场景 26316.1 ETL26316.2 实时数据计算26416.3Ad-Hoc 查询26616.4 实时数据流分析26616.5 小结268附录 A 常见问题及解决办法269A.1 同时访问两个 Hadoop 集群269A.2 Kafka集群重启后无法获取数据272A.3 Taskexceeded max memory size 277A.4 SQL 中 In 子句太长导致栈溢出错误278A.5 高并发导致大量查询出错279附录 B Presto 配置参数说明 282附录 C Presto 执行信息说明289
作者介绍
翁志现任京东首席技术顾问,信息安全部负责人,硅谷研发中心负责人,主要负责京东的技术创新,信息安全以及对外技术交流合作等,兼任全国信息安全标准化技术委员会委员。拥有近20年IT技术开发经验,拥有十余项国内外专利。2013年加入京东,领导京东大数据开源计算框架Presto荣获“2015COPU开源项目奖”,本人获“中国开源杰出人物”称号。机构负责人-戴东东时任京东数据库管理部负责人,负责数据库、大数据等新技术研究工作,拥有近15年IT技术研发及团队管理经验,侧重于海量数据库、大数据、机器学习等技术领域的研究。2012年加入京东,组建并带领-Presto研发团队荣获多个国内外奖项。高级架构师-吕信Presto中国社区创建者与管理者,主要从事Hadoop、-Presto大数据开源产品及京东数据云的研发与架构设计,具有丰富的大数据解决方案及大数据公有云解决方案的设计及开发经验。架构师-郭李明2012年入职京东,一直从事与大数据分布式架构相关的技术研究,参与并主导了Presto京东开源版本的核心功能开发,致力于大数据计算的解决方案研究。高级工程师-袁安峰擅长Presto性能调优与Bug修复,对Presto的SQL优化器有深入研究, 同时一直致力于对Presto底层实现原理的研究和探索。负责CSDN极客社区Presto板块维护,热衷于分享研究Presto技术原理的文章以及对Presto使用的心得和体会。高级工程师-孔云龙对HDFS、MapReduce、Hive等Hadoop生态系统中的技术有比较深入研究,在分布式查询引擎Presto和分布式消息系统Kafka的功能改造和优化方面积累了丰富的经验。目前正在京东公有云部门从事数据计算服务相关研发工作。
序言
— 没有更多了 —
以下为对购买帮助不大的评价