注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库Spark大数据处理技术

Spark大数据处理技术

Spark大数据处理技术

定 价:¥65.00

作 者: 夏俊鸾 程浩 邵赛赛,
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121250811 出版时间: 2015-01-01 包装: 平装
开本: 16开 页数: 356 字数:  

内容简介

  本书以Spark 0.9版本为基础进行编写,是一本全面介绍Spark及Spark生态圈相关技术的书籍,是国内首本深入介绍 Spark 原理和架构的技术书籍。主要内容有 Spark 基础功能介绍及内部重要模块分析,包括部署模式、调度框架、存储管理以及应用监控;同时也详细介绍了 Spark 生态圈中其他的软件和模块,包括 SQL 处理引擎 Shark 和 Spark SQL、流式处理引擎 Spark Streaming、图计算框架 Graphx 以及分布式内存文件系统 Tachyon。本书从概念和原理上对 Spark 核心框架和生态圈做了详细的解读,并对 Spark 的应用现状和未来发展做了一定的介绍,旨在为大数据从业人员和 Spark爱好者提供一个更深入学习的平台。本书适合任何大数据、Spark 领域的从业人员阅读,同时也为架构师、软件开发工程师和大数据爱好者展现了一个现代大数据框架的架构原理和实现细节。相信通过学习本书,读者能够熟悉和掌握 Spark 这一当前流行的大数据框架,并将其投入到生产实践中去。

作者简介

  夏俊鸾 现任阿里巴巴数据平台部高级技术专家,Apache Spark项目Committer,曾就职于英特尔亚太研发中心,微博账号@Andrew-Xia。刘旭晖 现任蘑菇街数据平台资深架构师(花名天火),曾就职于英特尔亚太研发中心大数据软件部,Spark/Hadoop/Hbase/Phoenix 等众多大数据相关开源项目的积极贡献者。乐于分享,著有CSDN博客 blog.csdn.net/colorant。邵赛赛 英特尔亚太研发有限公司开发工程师,专注于大数据领域,开源爱好者,现从事Spark相关工作,Spark代码贡献者。程浩 英特尔大数据技术团队软件工程师,Shark和Spark SQL活跃开发者,致力于SQL on Big Data的性能调优与优化。史鸣飞 英特尔亚太研发有限公司大数据软件部工程师,专注于大数据领域,主要从事Spark及相关项目的开发及应用,Spark及Shark代码贡献者,现在主要投身于Tachyon项目的开发。黄洁 目前就职于英特尔亚太研发中心大数据技术中心,担任高级软件工程师,致力于大数据技术的性能优化及开发工作,涉及Hadoop、Spark、HBase等开源项目。在多年的工作过程中,积累了一定的分布式大数据框架性能调优经验,并且是Apache Chukwa项目的PMC成员和Committer。在此之前,毕业于上海交通大学并获硕士及学士学位。

图书目录

第1章 Spark系统概述 15 1.1 大数据处理框架 15 1.2 Spark大数据处理框架 17 1.2.1 RDD表达能力 17 1.2.2 Spark子系统 18 1.3 小结 21 第2章 Spark RDD及编程接口 23 2.1 Spark程序“Hello World” 23 2.2 Spark RDD 26 2.2.1 RDD分区(Partition)27 2.2.2 RDD优先位置(preferredLocations)28 2.2.3 RDD依赖关系(Dependencies)29 2.2.4 RDD分区计算(Compute) 34 2.2.5 RDD分区函数(partitioner)35 2.3 创建操作 39 2.3.1 集合创建操作 39 2.3.2 存储创建操作 40 2.4 转换操作 42 2.4.1 RDD 基本转换操作 42 2.4.2 键值RDD 转换操作 52 2.4.3 再论RDD 依赖关系 59 2.5 控制操作(control operation) 61 2.6 行动操作(action operation) 63 2.6.1 集合标量行动操作 63 2.6.2 存储行动操作 68 2.7 小结 72 第3 章 Spark 运行模式及原理 74 3.1 Spark 运行模式概述 74 3.1.1 Spark 运行模式列表74 3.1.2 Spark 基本工作流程 75 3.1.3 相关基本类 77 3.2 Local 模式 80 3.2.1 部署及程序运行80 3.2.2 内部实现原理 80 3.3 Standalone 模式 81 3.3.1 部署及程序运行 81 3.3.2 内部实现原理 85 3.4 Local-cluster 模式 86 3.4.1 部署及程序运行 86 3.4.2 内部实现原理 86 3.5 Mesos 模式 87 3.5.1 部署及程序运行 87 3.5.2 内部实现原理 88 3.6 Yarn standalone / Yarn cluster 模式 91 3.6.1 部署及程序运行 91 3.6.2 内部实现原理 93 3.7 Yarn Client 模式 94 3.7.1 部署及程序运行 94 3.7.2 内部实现原理 95 3.8 各种模式的实现细节比较 96 3.8.1 环境变量的传递 97 3.8.2 Jar 包和各种依赖文件的分发 99 3.8.3 任务管理和序列化 101 3.8.4 用户参数配置 102 3.8.5 用户及权限控制 103 3.9 Spark 1.0 版本之后的变化 104 3.10 小结 105 第4 章 Spark 调度管理原理 106 4.1 Spark 作业调度管理概述 106 4.2 Spark 调度相关基本概念 107 4.3 作业调度模块顶层逻辑概述 108 4.4 作业调度具体工作流程 112 4.4.1 调度阶段的拆分113 4.4.2 调度阶段的提交 117 4.4.3 任务集的提交 119 4.4.4 完成状态的监控 119 4.4.5 任务结果的获取 121 4.5 任务集管理模块详解 122 4.6 调度池和调度模式分析 124 4.7 其他调度相关内容 126 4.7.1 Spark 应用之间的调度关系 126 4.7.2 调度过程中的数据本地性问题 127 4.8 小结 127 第5章 Spark 的存储管理 128 5.1 存储管理模块整体架构 128 5.1.1 通信层架构 129 5.1.2 通信层消息传递 132 5.1.3 注册存储管理模块 133 5.1.4 存储层架构 134 5.1.5 数据块 (Block) 136 5.2 RDD 持久化 137 5.2.1 RDD 分区和数据块的关系 137 5.2.2 内存缓存 138 5.2.3 磁盘缓存 139 5.2.4 持久化选项 141 5.2.5 如何选择不同的持久化选项 142 5.3 Shuffle 数据持久化 143 5.4 广播(Broadcast)变量持久化 146 5.5 小结 146 第6 章 Spark 监控管理 148 6.1 UI 管理 148 6.1.1 实时UI 管理 149 6.1.2 历史UI 管理 154 6.2 Metrics 管理 155 6.2.1 Metrics 系统架构 156 6.2.2 Metrics 系统配置 157 6.2.3 输入源(Metrics Source)介绍 159 6.2.4 输出方式(Metrics Sink)介绍 160 6.3 小结 162 第7 章 Shark 架构与安装配置 163 7.1 Shark 架构浅析 164 7.2 Hive/Shark 各功能组件对比分析 165 7.2.1 MetaStore 165 7.2.2 CLI/ Beeline 165 7.2.3 JDBC/ODBC 166 7.2.4 HiveServer/2 与 SharkServer/2 166 7.2.5 Driver 167 7.2.6 SQL Parser 168 7.2.7 查询优化器(Query Optimizer)169 7.2.8 物理计划与执行 169 7.3 Shark 安装配置与使用 171 7.3.1 安装前准备工作 171 7.3.2 不同运行模式下的安装Shark 172 7.3.2.1 单机运行模式 172 7.3.2.2 集群运行模式 172 7.3.2.3 运行在亚马逊AWS 174 7.4 Shark SQL 命令行工具(CLI)174 7.5 使用Shark Shell 178 7.6 启动SharkServer 178 7.7 SharkServer2 配置与启动 179 7.8 缓存数据表 180 7.8.1 数据缓存级别 180 7.8.2 创建不同缓存级别的Shark 数据表 180 7.8.3 指定数据表缓存策略 181 7.8.4 使用Tachyon 182 7.9 常见问题分析 182 7.9.1 OutOfMemory 异常 183 7.9.2 数据处理吞吐量低 183 7.9.3 Shark 查询比Hive 慢 184 7.10 小结 184 第8 章 Shark 程序开发与扩展 186 8.1 SQL API 186 8.1.1 JDBC 接口访问Shark 187 8.1.2 ODBC 接口访问Shark 188 8.1.3 sql2rdd API 188 8.2 扩展Shark 191 8.2.1 ObjectInspector 介绍 191 8.2.2 自定义函数 195 8.3 SerDe 自定义数据存取格式 218 8.4 StorageHandler 自定义数据存取 219 8.5 小结 221 第9 章 Spark SQL 222 9.1 逻辑架构 222 9.1.1 Catalyst 功能边界 223 9.1.2 SQL 解析阶段 224 9.1.3 逻辑计划元数据绑定和语义分析阶段 224 9.1.4 逻辑计划优化优化阶段 224 9.1.5 物理计划生成阶段 225 9.1.6 Shark 和Spark SQL 对比 225 9.2 Catalyst 上下文(Context) 226 9.2.1 SQLContext 227 9.2.2 HiveContext 228 9.3 SQL API 228 9.3.1 构建/使用SQLContext 和HiveContext 229 9.3.2 SchemaRDD 229 9.3.3 Row 对象 232 9.3.4 数据类型 233 9.3.5 DSL API 举例 233 9.3.6 表达式计算 235 9.3.7 Parquet 列式存储文件 237 9.3.8 代码演示 238 Spark 与大数据开源技术 11 9.4 Java API 241 9.5 小结 241 第10 章 Spark Streaming 242 流数据处理框架 242 10.1 快速入门 243 10.2 SparkStreaming 基本概念 245 10.2.1 链接和初始化 245 10.2.2 时间和窗口概念 246 10.2.3 DStream 原理 248 10.2.4 DStream 输入源 249 10.2.5 DStream 操作 250 10.2.6 DStream 持久化 253 10.3 性能调优 253 10.3.1 运行时间优化 253 10.3.2 内存使用优化 254 10.4 容错处理 255 10.4.1 工作节点失效 255 10.4.2 驱动节点失效 256 10.5 DStream 作业的产生和调度 258 10.5.1 作业产生 258 10.5.2 作业调度 259 10.5.3 Streaming 作业与Spark 作业之间的关系 260 10.6 DStream 与RDD 之间关系 262 10.7 数据接收原理 264 10.8 自定义数据输入源 268 10.9 自定义监控接口(StreamingListener) 270 10.10 Spark Streaming 案例分析 271 10.11 小结 273 第11 章 275 GraphX 计算框架 275 11.1 图并行计算 275 11.1.1 数据并行与图并行计算 275 11.1.2 图并行计算框架简介 276 11.1.3 GraphX 简介 280 11.2 Graphx 模型设计280 11.2.1 数据模型 280 11.1.2 图计算接口 281 11.3 GraphX 模型实现 285 11.3.1 图的分布式存储 285 11.3.2 图操

本目录推荐