书名:Hadoopquan威指南:大数据的存储与分析(第4版)
作者:Tom White著 王海,华东,刘喻,吕粤海 译
出版社:清华大学出版社
出版时间:2017年07月
定价¥148.00
版 次:4
页 数:732
字 数:594000
开 本:16开
纸 张:胶版纸
印 次:1
包 装:平装-胶订
Hadoopquan威指南 第4版
本书结合理论和实践,由浅入深,全方位介绍了Hadoop这一高性能的海量数据处理和分析平台。全书5部分24章,第Ⅰ部分介绍Hadoop基础知识,主题涉及Hadoop、MapReduce、Hadoop分布式文件系统、YARN、Hadoop的I/O操作。第Ⅱ部分介绍MapReduce,主题包括MapReduce应用开发;MapReduce的工作机制、MapReduce的类型与格式、MapReduce的特性。第Ⅲ部分介绍Hadoop的运维,主题涉及构建Hadoop集群、管理Hadoop。第Ⅳ部分介绍Hadoop相关开源项目,主题涉及Avro、Parquet、Flume、Sqoop、Pig、Hive、Crunch、Spark、HBase、ZooKeeper。第Ⅴ部分提供了三个案例,分别来自医疗卫生信息技术服务商塞纳(Cerner)、微软的人工智能项目ADAM(一种大规模分布式深度学习框架)和开源项目Cascading(一个新的针对MapReduce的数据处理API)。 本书是一本quan威、全面的Hadoop参考书和工具书,阐述了Hadoop生态圈的*发展和应用,程序员可以从中探索海量数据集的存储和分析,管理员可以从中了解Hadoop集群的安装和运维。
Spark机器学习 第二版
本书结合案例研究讲解Spark 在机器学习中的应用,并介绍如何从各种公开渠道获取用于机器学习*统的数据。内容涵盖推荐系统、回归、聚类、降维等经典机器学习算法及其实际应用。*2版新增了有关机器学习数学基础以及Spark ML Pipeline API 的章节,内容更加系统、全面、与时俱进。
Hive实战
Hive“出身名&”,是*初由Facebook公司开发的数据仓库工具。它简单且容易上手,是深入学习Hadoop技术的一个很好的切入点。本书由数据库专家和大数据专家共同撰写,具体内容包括:Hive的安装和配置,其核心组件和架构,Hive数据操作语言,如何加载、查询和分析数据,Hive的性能调优以及安全性,等等。本书旨在为读者打牢基础,从而踏上专业的大数据处理之旅。
目录
Hadoopquan威指南 第4版
第Ⅰ部分 Hadoop基础知识
第1章 初识Hadoop 3
1.1 数据!数据! 3
1.2 数据的存储与分析 5
1.3 查询所有数据 6
1.4 不仅仅是批处理 7
1.5 相较于其他系统的优势 8
1.5.1 关系型数据库管理系统 8
1.5.2 网格计算 10
1.5.3 志愿计算 11
1.6 Apache Hadoop发展简史 12
1.7 本书包含的内容 16
第2章 关于MapReduce 19
2.1 气象数据集 19
2.2 使用Unix工具来分析数据 21
2.3 使用Hadoop来分析数据 22
2.3.1 map和reduce 23
2.3.2 Java MapReduce 24
2.4 横向扩展 31
2.4.1 数据流 31
2.4.2 combiner函数 35
2.4.3 运行分布式的
MapReduce作业 37
2.5 Hadoop Streaming 37
2.5.1 Ruby版本 38
2.5.2 Python版本 40
第3章 Hadoop分布式文件系统 42
3.1 HDFS的设计 42
3.2 HDFS的概念 44
3.2.1 数据块 44
..........
自然语言编程 666
23.8 使用Parquet进行面向列的
存取 668
23.9 一个简单例子:用Spark和
ADAM做k-mer计数 669
23.10 从个性化广告到个性化
医疗 672
23.11 联系我们 673
第24章 开源项目Cascading 674
24.1 字段、元组和管道 675
24.2 操作 678
24.3 Taps,Schemes和Flows 680
24.4 Cascading实践应用 681
24.5 灵活性 684
24.6 ShareThis中的Hadoop和
Cascading 685
24.7 总结 689
附录A 安装Apache Hadoop 691
附录B 关于CDH 697
附录C 准备NCDC气象数据 699
附录D 新版和旧版Java
MapReduce API 702
Spark机器学习 第二版
第 1章 Spark的环境搭建与运行 1 1.1 Spark的本地安装与配置 2 1.2 Spark集群 3 1.3 Spark编程模型 4 1.3.1 SparkContext类与SparkConf类 4 1.3.2 SparkSession 5 1.3.3 Spark shell 6 1.3.4 弹性分布式数据集 8 1.3.5 广播变量和累加器 12 1.4 SchemaRDD 13 1.5 Spark data frame 13 1.6 Spark Scala编程入门 14 1.7 Spark Java编程入门 17 1.8 Spark Python编程入门 19 1.9 Spark R编程入门 21 1.10 在Aman EC2上运行Spark 23 1.11 在zon Elastic Map Reduce上配置并运行Spark 28 1.12 Spark用户界面 31 1.13 Spark所支持的机器学习算法 32 1.14 Spark ML的优势 36 1.15 在Google Compute Engine上用Dataproc构建Spark集群 38 1.15.1 Hadoop和Spark版本 38 1.15.2 创建集群 38 1.15.3 提交任务 41 1.16 小结 43 第 2章 机器学习的数学基础 44 2.1 线性代数 45 2.1.1 配置IntelliJ Scala环境 45 2.1.2 配置命令行Scala环境 47 2.1.3 域 48 2.1.4 矩阵 54 2.1.5 函数 64 2.2 梯度下降 68 2.3 先验概率、似然和后验概率 69 2.4 微积分 69 2.4.1 可微微分 69 2.4.2 积分 70 2.4.3 拉格朗日乘子 70 2.5 可视化 71 2.6 小结 72 第3章 机器学习系统设计 73 3.1 机器学习是什么 73 3.2 MovieStream介绍 74 3.3 机器学习系统商业用例 75 3.3.1 个性化 75 3.3.2 目标营销和客户细分 76 3.3.3 预测建模与分析 76 3.4 机器学习模型的种类 76 3.5 数据驱动的机器学习系统的组成 77 3.5.1 数据获取与存储 77 3.5.2 数据清理与转换 78 3.5.3 模型训练与测试循环 79 3.5.4 模型部署与整合 79 3.5.5 模型监控与反馈 80 3.5.6 批处理或实时方案的选择 80 3.5.7 Spark数据管道 81 3.6 机器学习系统架构 82 3.7 Spark MLlib 83 3.8 Spark ML的性能提升 83 3.9 MLlib支持算法的比较 85 3.9.1 分类 85 3.9.2 聚类 85 3.9.3 回归 85 3.10 MLlib支持的函数和*发者API 86 3.11 MLlib愿景 87 3.12 MLlib版本的变迁 87 3.13 小结 88 第4章 Spark上数据的获取、处理与准备 89 4.1 获取公开数据集 90 4.2 探索与可视化数据 92 4.2.1 探索用户数据 94 4.2.2 探索电影数据 102 4.2.3 探索评级数据 104 4.3 数据的处理与转换 109 4.4 从数据中提取有用特征 112 4.4.1 数值特征 112 4.4.2 类别特征 113 4.4.3 派生特征 114 4.4.4 文本特征 116 4.4.5 正则化特征 121 4.4.6 用软件包提取特征 123 4.5 小结 126 第5章 Spark 构建推荐引擎 127 5.1 推荐模型的分类 128 5.1.1 基于内容的过滤 128 5.1.2 协同过滤 128 5.1.3 矩阵分解 130 5.2 提取有效特征 139 5.3 训练推荐模型 140 5.3.1 使用MovieLens 100k数据集训练模型 141 5.3.2 使用隐式反馈数据训练模型 143 5.4 使用推荐模型 143 5.4.1 ALS模型推荐 144 5.4.2 用户推荐 145 5.4.3 物品推荐 148 5.5 推荐模型效果的评估 152 5.5.1 ALS模型评估 152 5.5.2 均方差 154 5.5.3 K值平均准确率 156 5.5.4 使用MLlib内置的评估函数 159 5.6 FP-Growth算法 161 5.6.1 FP-Growth的基本例子 161 5.6.2 FP-Growth在MovieLens数据集上的实践 163 5.7 小结 164 第6章 Spark构建分类模型 165 6.1 分类模型的种类 167 6.1.1 线性模型 167 6.1.2 朴素贝叶斯模型 177 6.1.3 决策树 180 6.1.4 树集成模型 183 6.2 从数据中抽取合适的特征 188 6.3 训练分类模型 189 6.4 使用分类模型 190 6.4.1 在Kaggle/StumbleUpon evergreen数据集上进行预测 191 6.4.2 评估分类模型的性能 191 6.4.3 预测的正确率和错误率 191 6.4.4 准确率和召回率 193 6.4.5 ROC曲线和AUC 194 6.5 改进模型性能以及参数调优 196 6.5.1 特征标准化 197 6.5.2 其他特征 199 6.5.3 使用正确的数据格式 202 6.5.4 模型参数调优 203 6.6 小结 211 第7章 Spark构建回归模型 212 7.1 回归模型的种类 212 7.1.1 *小二乘回归 213 7.1.2 决策树回归 214 7.2 评估回归模型的性能 215 7.2.1 均方误差和均方根误差 215 7.2.2 平均*对误差 215 7.2.3 均方根对数误差 216 7.2.4 R-平方系数 216 7.3 从数据中抽取合适的特征 216 7.4 回归模型的训练和应用 220 7.4.1 BikeSharingExecutor 220 7.4.2 在bike sharing数据集上训练回归模型 221 7.4.3 决策树集成 229 7.5 改进模型性能和参数调优 235 7.5.1 变换目标变量 235 7.5.2 模型参数调优 242 7.6 小结 256 第8章 Spark构建聚类模型 257 8.1 聚类模型的类型 258 8.1.1 K-均值聚类 258 8.1.2 混合模型 262 8.1.3 层次聚类 262 8.2 从数据中提取正确的特征 262 8.3 K-均值训练聚类模型 265 8.3.1 训练K-均值聚类模型 266 8.3.2 用聚类模型来预测 267 8.3.3 解读预测结果 267 8.4 评估聚类模型的性能 271 8.4.1 内部评估指标 271 8.4.2 外部评估指标 272 8.4.3 在MovieLens数据集上计算性能指标 272 8.4.4 迭代次数对WSSSE的影响 272 8.5 二分K-均值 275 8.5.1 二分K-均值——训练一个聚类模型 276 8.5.2 WSSSE和迭代次数 280 8.6 高斯混合模型 283 8.6.1 GMM聚类分析 283 8.6.2 可视化GMM类簇分布 285 8.6.3 迭代次数对类簇边界的影响 286 8.7 小结 287 第9章 Spark应用于数据降维 288 9.1 降维方法的种类 289 9.1.1 主成分分析 289 9.1.2 奇异值分解 289 9.1.3 和矩阵分解的关系 290 9.1.4 聚类作为降维的方法 290 9.2 从数据中抽取合适的特征 291 9.3 训练降维模型 299 9.4 使用降维模型 302 9.4.1 在LFW数据集上使用PCA投影数据 302 9.4.2 PCA和SVD模型的关系 303 9.5 评价降维模型 304 9.6 小结 307 第 10章 Spark*级文本处理技术 308 10.1 文本数据处理的特别之处 308 10.2 从数据中抽取合适的特征 309 10.2.1 词加权表示 309 10.2.2 特征散列 310 10.2.3 从20 Newsgroups数据集中提取TF-IDF特征 311 10.3 使用TF-IDF 模型 324 10.3.1 20 Newsgroups数据集的文本相似度和TF-IDF特征 324 10.3.2 基于20 Newsgroups数据集使用TF-IDF训练文本分类器 326 10.4 评估文本处理技术的作用 328 10.5 Spark 2.0上的文本分类 329 10.6 Word2Vec模型 331 10.6.1 借助Spark MLlib训练Word2Vec模型 331 10.6.2 借助Spark ML训练Word2Vec模型 332 10.7 小结 334 第 11章 Spark Streaming实时机器学习 335 11.1 在线学习 335 11.2 流处理 336 11.2.1 Spark Streaming介绍 337 11.2.2 Spark Streaming缓存和容错机制 339 11.3 创建Spark Streaming应用 340 11.3.1 消息生成器 341 11.3.2 创建简单的流处理程序 343 11.3.3 流式分析 346 11.3.4 有状态的流计算 348 11.4 使用Spark Streaming进行在线学习 349 11.4.1 流回归 350 11.4.2 一个简单的流回归程序 350 11.4.3 流式K-均值 354 11.5 在线模型评估 355 11.6 结构化流 358 11.7 小结 359 第 12章 Spark ML Pipeline API 360 12.1 Pipeline简介 360 12.1.1 DataFrame 360 12.1.2 Pipeline组件 360 12.1.3 转换器 361 12.1.4 评估器 361 12.2 Pipeline工作原理 363 12.3 Pipeline机器学习示例 367 12.4 小结 375
Hive实战
第 1章 为Hive打好基础:Hadoop 1 1.1 一只小象出生了 2 1.2 Hadoop的结构 3 1.3 数据冗余 6 1.3.1 传统的高可用性 6 1.3.2 Hadoop的高可用性 9 1.4 MapReduce处理 12 1.4.1 越MapReduce 16 1.4.2 YARN和现代数据架构 17 1.4.3 Hadoop 和开源社区 19 1.4.4 我们身在何处 22 第 2 章 Hive 简介 24 2.1 Hadoop 发行版 25 2.2 集群架构 27 2.3 Hive 的安装 30 2.4 探寻你的方式 32 2.5 Hive CLI 35 第3 章 Hive架构 37 3.1 Hive组件 37 3.2 HCatalog 38 3.3 HiveServer2 40 3.4 客户端工具 42 3.5 执行引擎:Tez 46 第4 章 Hive表DDL 48 4.1 schema-on-read 48 4.2 Hive数据模型 49 4.2.1 模式/数据库 49 4.2.2 为什么使用多个模式/数据库 49 4.2.3 创建数据库 49 4.2.4 更改数据库 50 4.2.5 删除数据库 50 4.2.6 列出数据库 51 4.3 Hive中的数据类型 51 4.3.1 基本数据类型 51 4.3.2 选择数据类型 51 4.3.3 复杂数据类型 52 4.4 表 53 4.4.1 创建表 53 4.4.2 列出表 54 4.4.3 内部表/外部表 54 4.4.4 内部表/受控表 55 4.4.5 内部表/外部表示例 55 4.4.6 表的属性 59 4.4.7 生成已有表的CREATE TABLE命令 60 4.4.8 分区和分桶 61 4.4.9 分区注意事项 63 4.4.10 对日期列进行高效分区 63 4.4.11 分桶的注意事项 65 4.4.12 更改表 66 4.4.13 ORC文件格式 67 4.4.14 更改表分区 68 4.4.15 修改列 72 4.4.16 删除表/分区 72 4.4.17 保护表/分区 73 4.4.18 其他CREATE TABLE命令选项 73 第5 章 数据操作语言 75 5.1 将数据装载到表中 75 5.1.1 使用存储在HDFS中的文件装载数据 75 5.1.2 使用查询装载数据 77 5.1.3 将查询到的数据写入文件系统 80 5.1.4 直接向表插入值 81 5.1.5 直接更新表中数据 83 5.1.6 在表中直接删除数据 84 5.1.7 创建结构相同的表 85 5.2 连接 86 5.2.1 使用等值连接来整合表 86 5.2.2 使用外连接 87 5.2.3 使用左半连接 89 5.2.4 用单次MapReduce实现连接 90 5.2.5 *后使用*大的表 91 5.2.6 事务处理 92 5.2.7 ACID是什么,以及为什么要用到它 92 5.2.8 Hive配置 92 第6章 将数据装载到Hive 94 6.1 装载数据之前的设计注意事项 94 6.2 将数据装载到HDFS 95 6.2.1 Ambari 文件视图 95 6.2.2 Hadoop命令行 97 6.2.3 HDFS的NFS Gateway 97 6.2.4 Sqoop 98 6.2.5 Apache NiFi 101 6.3 用Hive 访问数据 105 6.3.1 外部表 105 6.3.2 LOAD DATA语句 106 6.4 在Hive中装载增量变更数据 107 6.5 Hive流处理 107 6.6 小结 108 第7章 查询半结构化数据 109 7.1 点击流数据 111 7.1.1 摄取数据 113 7.1.2 创建模式 116 7.1.3 装载数据 116 7.1.4 查询数据 116 7.2 摄取JSON数据 119 7.2.1 使用UDF查询JSON 121 7.2.2 使用SerDe访问JSON 122 第8章 Hive分析 125 8.1 构建分析模型 125 8.1.1 使用太阳模型获取需求 125 8.1.2 将太阳模型转换为星型模式 129 8.1.3 构建数据仓库 137 8.2 评估分析模型 . 140 8.2.1 评估太阳模型 140 8.2.2 评估聚合结果 142 8.2.3 评估数据集市 143 8.3 掌握数据仓库管理 144 8.3.1 *备条件 144 8.3.2 检索数据库 144 8.3.3 评估数据库 147 8.3.4 过程数据库 160 8.3.5 转换数据库 185 8.3.6 你掌握了什么 192 8.3.7 组织数据库 192 8.3.8 报表数据库 196 8.3.9 示例报表 197 8.4 *级分析 199 8.5 接下来学什么 199 第9章 Hive性能调优 200 9.1 Hive性能检查表 200 9.2 执行引擎 201 9.2.1 MapReduce 201 9.2.2 Tez 201 9.3 存储格式 203 9.3.1 ORC格式 203 9.3.2 Parquet格式 205 9.4 矢量化查询执行 206 9.5 查询执行计划 206 9.5.1 基于代价的优化 208 9.5.2 执行计划 210 9.5.3 性能检查表小结 212 第 10章 Hive的安全性 213 10.1 数据安全性的几个方面 213 10.1.1 身份认证 214 10.1.2 授权 214 10.1.3 管理 214 10.1.4 审计 214 10.1.5 数据保护 214 10.2 Hadoop的安全性 215 10.3 Hive的安全性 215 10.3.1 默认授权模式 215 10.3.2 基于存储的授权模式 216 10.3.3 基于SQL标准的授权模式 217 10.3.4 管理通过SQL进行的访问 218 10.4 使用Ranger进行Hive授权 219 10.4.1 访问Ranger用户界面 220 10.4.2 创建Ranger策略 220 10.4.3 使用Ranger审计 222 第 11章 Hive的未来 224 11.1 LLAP 224 11.2 Hive-on-Spark 225 11.3 Hive:ACID 和MERGE 225 11.4 可调隔离等级 225 11.5 ROLAP/基于立方体的分析 226 11.6 HiveServer2的发展 226 11.7 面向不同工作负载的多个HiveServer2实例 226 附录A 建立大数据团队 227 附录B Hive函数 231