数据科学与大数据技术导论
作者 : [美]奥弗·曼德勒维奇(Ofer Mendelevitch) 凯西·斯特拉(Casey Stella) 著 道格拉斯·伊德理恩(Douglas Eadline)
译者 : 唐金川 译
出版日期 : 2018-06-07
ISBN : 978-7-111-60034-3
定价 : 59.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 192
开本 : 16
原书名 : Practical Data Science with Hadoop and Spark: Designing and Building Effective Analytics at Scale
原出版社: Pearson Education Inc.
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书专为数据科学家、开发人员/数据工程师和商业利益相关者而写,这些读者的目标是相同的:使用Hadoop和Spark处理大规模的数据分析。全书分为三部分。第一部分包括前3章,概述了数据科学及其历史演变,阐述了常见的数据科学家成长之路,业务用例如何受现代数据流量、多样性和速度的影响,并涵盖了一些现实的数据科学用例,以帮助读者了解其在各行业和各应用中的优势,以及Hadoop及其多年来的演进史。第二部分包括接下来的3章,重点是数据采集、使用Hadoop进行数据再加工并探索和可视化数据。第三部分包括最后6章,涵盖Hadoop与机器学习、预测建模、聚类、Hadoop异常检测、自然语言处理,以及数据科学与Hadoop的未来。

图书特色

数据科学
与大数据技术导论
[美]   奥弗·曼德勒维奇(Ofer Mendelevitch)
凯西·斯特拉(Casey Stella)
道格拉斯·伊德理恩(Douglas Eadline)                                                著
唐金川  译
Practical Data Science
with Hadoop and Spark
Designing and Building
Effective Analytics at Scale

图书前言

数据科学和机器学习作为许多创新技术和产品的核心,预计在可预见的未来将继续颠覆全球许多行业和商业模式。早几年,这些创新大多受限于数据的可用性。
随着Apache Hadoop的引入,所有这一切都发生了变化。 Hadoop提供了一个平台,可以廉价且大规模地存储、管理和处理大型数据集,从而使大数据集的数据科学分析变得实际可行。在这个大规模数据深层分析的新世界,数据科学是核心竞争力,它使公司或组织得以超越传统的商业模式,并在竞争和创新方面保持优势。在Hortonworks工作期间,我们有机会看到各种公司和组织如何利用这些新的机会,帮助它们使用 Hadoop和Spark进行规模化数据科学实现。在本书中,我们想分享一些这样的经验。
另外值得强调的是,Apache Hadoop已经从早期的初始形态演变成整体强大的MapReduce引擎(Hadoop版本1),再到目前可运行在YARN上的多功能数据分析平台(Hadoop版本2)。目前 Hadoop 不仅支持MapReduce,还支持Tez和Spark作为处理引擎。当前版本的Hadoop为许多数据科学应用程序提供了一个强大而高效的平台,并为以前不可想象的新业务开辟了大有可为的新天地。
本书重点
本书着重于在Hadoop和Spark环境中数据科学的实际应用。由于数据科学的范围非常广泛,而且其中的每一个主题都是深入且复杂的,所以全面阐述数据科学极其困难。为此,我们尝试在每个用例中覆盖理论并在实际实现时辅以样例,以期在理论和实践之间达到平衡。
本书的目的不是深入了解每个机器学习或统计学方法的诸多数学细节,而是提供重要概念的高级描述以及在业务问题背景下践行的指导原则。我们提供了一些参考文献,这些参考文献对书中技术的数学细节进行了更深入的介绍,附录C中还提供了相关资源列表。
在学习Hadoop 时,访问 Hadoop 集群环境可能会成为一个问题。找到一种有效的方式来“把玩”Hadoop 和 Spark对有些人来说可能是一个挑战。如果要搭建最基础的环境,建议使用 Hortonworks 虚拟机上的沙箱(sandbox),以便轻松开始使用Hadoop。沙箱是在虚拟机内部可运行的完整的单节点Hadoop。虚拟机可以在 Windows、Mac OS 和 Linux 下运行。有关如何下载和安装沙箱的更多信息,请参阅http://hortonworks.com/products/sandbox。有关Hadoop的进一步帮助信息,建议阅读《Hadoop 2 Quick-Start Guide: Learn the Essentials of Big Data Computation in the Apache Hadoop 2 Ecosystem》一书并查看相关视频,在附录C中也可以找到这些信息。
谁应该读这本书
本书面向那些有兴趣了解数据科学且有意涉猎大规模数据集下的应用的读者。如果读者想要更多地了解如何实现各种用例,找到最适合的工具和常见架构,本书也提供了强大的技术基础。本书还提供了一个业务驱动的观点,即何时何地在大型数据集上应用数据科学更有利,这可以帮助利益相关者了解自己的公司能产生什么样的价值,以及在何处投资资源来进行大规模机器学习。
本书需要读者有一定的经验。对于不熟悉数据科学的人来说,需要一些基本知识以了解不同的方法,包括统计概念(如均值和标准差),也需要一些编程背景(主要是Python,一点点Java或 Scala)以理解书中的例子。
对于有数据科学背景的人员,可能会碰到一些如熟悉众多Apache项目的实际问题,但是大体上应该对书中的内容游刃有余。此外,所有示例都是基于文本的,并且需要熟悉Linux命令行。需要特别注意的是,我们没有使用(或测试)Windows环境的示例。但是,没有理由假定它们不会在其他环境中正常运行(Hortonworks支持Windows)。
在具体的Hadoop环境方面,所有示例和代码都是在Hortonworks HDP Linux Hadoop版本(笔记本电脑或集群都适用)下运行的。开发环境在发布版本(Cloudera、MapR、Apache Source)或操作系统(Windows)上可能有所不同。但是,所有这些工具在两种环境中都可使用。
如何使用本书
本书有几种不同类型的读者:
数据科学家
开发人员/数据工程师
商业利益相关者
虽然这些想参与Hadoop分析的读者具有不同背景,但他们的目标肯定是相同的:使用Hadoop和Spark处理大规模的数据分析。为此,我们设计了后续章节,以满足所有读者的需求。因此,对于在某领域具有良好实践经验的读者,可以选择跳过相应的章节。最后,我们也希望新手读者将本书作为理解规模化的数据科学的第一步。我们相信,即使你看得一头雾水,书中的例子也是有价值的。可以参考后面的背景材料来加深理解。
第一部分包括前3章。
第1章概述了数据科学及其历史演变,阐述了常见的数据科学家成长之路。对于那些不熟悉数据科学的人,该章将帮助你了解为什么数据科学会发展成为一个强大的学科,并深入探讨数据科学家是如何设计和优化项目的。该章还会讨论是什么造就了数据科学家,以及如何规划这个方向的职业发展。
第2章概述了业务用例如何受现代数据流量、多样性和速度的影响,并涵盖了一些现实的数据科学用例,以帮助读者了解其在各个行业和各种应用中的优势。
第3章快速概述了Hadoop及其演变历史,以及Hadoop生态系统中的各种工具等。对于第一次使用Hadoop的用户,该章可能有点难以理解。该章引入了许多新概念,包括Hadoop文件系统(HDFS)、MapReduce、Hadoop资源管理器(YARN)和Spark。虽然Hadoop生态系统的子项目(有些子项目名称比较奇怪)的数量看起来令人生畏,但并不是每个项目都在同一时间使用,而后续章节中的应用通常仅仅集中在其中一小部分工具上。
第二部分包括接下来的3章。
第4章重点介绍数据摄取,讨论将数据集从外部源导入Hadoop的各种工具和技术,这对后续章节很有用。我们从描述Hadoop数据湖(data lake)概念开始,介绍了Hadoop平台可以使用的各种数据。数据摄取主要使用两个更受欢迎的Hadoop工具:Hive和Spark。该章重点介绍代码和实操解决方案,如果你是Hadoop的新手,可以参考附录B,以便快速了解HDFS文件系统。
第5章重点介绍如何使用Hadoop进行数据再加工:如何识别和处理数据质量问题,如何预处理数据并进行建模准备。该章将介绍数据的完整性、有效性、一致性、及时性和准确性的概念,接着提供实际数据集的特征生成示例。该章对所有类型的后续分析都是有用的,与第 4 章一样,该章是后续章节中提到的许多技术的铺垫。
数据再加工过程中的一个重要工具就是可视化。第6章讨论了使用大数据进行可视化的意义。该章作为背景有助于加强对数据可视化背后一些基本概念的理解。该章中提供的图表是使用R生成的。所有图表的源代码都可用,因此读者可以使用自己的数据来尝试生成这些图表。
第三部分包括后6章。
第7章概述了机器学习,涵盖了机器学习的主要任务(如分类和回归、聚类和异常检测)。对于每个任务类型,我们会探究问题实质并找出解决问题的主要方法。
第8章讨论了预测建模的基本算法和各种Hadoop工具。该章包括使用Hive和Spark构建Twitter文本情感分析预测模型的端到端示例。
第9章深入讲解聚类分析,这也是数据科学中非常普遍的技术。该章介绍了各种聚类技术和相似度计算技术,这些功能都是聚类的核心。随后,该章展示了使用Hadoop和Spark在大型文档语料库上使用主题模型建模的实例。
第10章讨论异常检测,描述了各种方法和算法,以及如何对各种数据集执行大规模异常检测。然后展示了如何使用Spark为KDD99数据集构建异常检测系统。
第11章介绍了使用一套通常称为自然语言处理(NLP)的技术将数据科学应用于人类语言的特定领域。该章谈及NLP的各种方法、在各种NLP任务中有效的开源工具,以及如何使用Hadoop、Pig和Spark将NLP应用于大规模语料库。该章用一个端到端的例子展示了在Spark中使用NLP进行情感分析的高级方法。
第12章讨论了Hadoop环境下数据科学的未来,涵盖了高级数据发现技术和深入学习。
可参阅附录A,以查看本书相关网页(网页提供了问题和答案论坛)和代码库。如前所述,附录B提供了新用户快速入门 HDFS的基本方法,附录C提供了深入学习Hadoop、Spark、HDFS、机器学习等许多主题的参考文献。

上架指导

计算机科学/大数据分析与处理

封底文字

Hadoop 生态系统中的技术工具(比如Hive、Spark等),如今已经成为众多数据公司的基础技术栈。如果你希望熟悉这些工具,去处理、探索海量数据,并建模输出这些数据的价值,本书便是一本很好的手边书。
——陈华良,技术总监


本书为 Hadoop 及 Spark 在大数据生产环境提供了全面的知识框架和详细的实践指导,可帮助读者快速把Hadoop生产工具应用到大数据科学的工作中,是一本非常好的工具书。
——陈金才,高级研发工程师

本书简明介绍了数据科学的大体框架及知识结构,是一本良好的数据科学入门图书。书中理论与实践并重,在经典的数据建模问题上,结合Hadoop进行了实践时的指导,具有良好的可操作性。另,译者唐金川是数据方向的有为青年,做事靠谱,值得信任,他对本书的翻译下了很多功夫,倾注了很多心血。希望本书能够帮助立志于数据方向的有志青年。
——刘德钦,爱奇艺算法研究员

本书是目前所见国内第一本基于Hadoop和Spark讲述如何将人工智能应用于大数据处理的实战图书,篇幅不大,但涵盖全面,可以帮助读者很好地了解数据科学家如何工作。译者唐金川是一线技术人员,很好地保证了译文的质量。
——刘江,美团点评技术学院院长


就对数据处理和机器学习有兴趣的同学来说,这是一本非常好的入门书籍。整本书既有基本的理论阐述,每一章中又有很好的实操指导。作为入门教程,每一章的学习目标很清晰,对之前没有太多基础同学,也是深入浅出、非常友好。认真学完这本书,你就开启了机器学习的大门。
——任登君,美团点评广告平台高级总监

本书非常适合有志于进入数据开发和机器学习领域的读者入门,内容全面,包括大数据处理和可视化、机器学习基础、自然语言处理,等等。书中对相关基础概念(如大数据开发技术)讲解清晰、深入浅出,易于理解和实践。本书的译者唐金川,翻译细致,表达严谨,看得出对每一章节的内容都经过了反复细琢,值得读者信任。
——文成明,小米 MIUI 商业产品部算法研发主管

译者序

互联网,特别是移动互联网的发展,催生了海量的数据(如用户的行为数据、博文、照片、视频等),“大数据”概念应运而生。早些年提出的“数据挖掘”“机器学习”以及如今火热的“人工智能”,都致力于让这些“大数据”发挥越来越大的价值。
让大数据发挥巨大潜力的职位,国外更多叫作“数据科学家”,而国内则更多地细分为数据工程师、数据挖掘工程师、机器学习工程师,抑或泛称算法工程师。虽然各个公司技术栈不尽相同,但Hadoop与 Spark的使用颇为广泛。
本书囊括的内容为Hadoop及 Spark 应用方面的从业者提供了比较全面的入门指南。全书分为三部分。
第一部分:数据科学概述及实例介绍,Hadoop 生态环境及相关工具介绍。
第二部分:数据的获取、存储、再加工、探索和可视化。
第三部分:应用数据,内容包括机器学习、预测模型、聚类、异常检测和NLP。
本书所涵盖的内容有助于读者具备数据科学家的能力。在阅读过程中,如果对某些部分或章节已经了然于胸,则可跳过进而阅读后续内容。本书的不同章节,也可作为专项实践能力锻炼时的参考资料。
此书付梓之际,非常感谢吴怡、关敏两位编辑的指导和督促,也衷心感激爱妻李珂欣在我翻译期间给予我鼓励、体谅和帮助。
书中不少英文术语,国内业界人士也惯用英文,而对应的中文翻译则未形成统一的规范。例如“true negative”一词,“真负”和“真阴”的译法都有。原书作者英文表达行云流水,措辞变换也颇为丰富,本人英文才疏,翻译过程中未必能尽达作者之意。凡此种种都增添了翻译的难度。此书又是本人第一本译作,虽经反复校对,但也不免有疏漏、错误之处。在此,热切欢迎广大读者不吝指正。

唐金川
于2018 年清明前夜

图书目录

译者序

前言
致谢
关于作者
第一部分 Hadoop中的数据科学概览
第1章 数据科学概述2
1.1 数据科学究竟是什么2
1.2 示例:搜索广告3
1.3 数据科学史一瞥4
1.3.1 统计学与机器学习4
1.3.2 互联网巨头的创新5
1.3.3 现代企业中的数据科学6
1.4 数据科学家的成长之路6
1.4.1 数据工程师7
1.4.2 应用科学家7
1.4.3 过渡到数据科学家角色8
1.4.4 数据科学家的软技能9
1.5 数据科学团队的组建10
1.6 数据科学项目的生命周期11
1.6.1 问正确的问题11
1.6.2 数据摄取12
1.6.3 数据清洗:注重数据质量12
1.6.4 探索数据和设计模型特征13
1.6.5 构建和调整模型13
1.6.6 部署到生产环境14
1.7 数据科学项目的管理14
1.8 小结15
第2章 数据科学用例16
2.1 大数据—变革的驱动力16
2.1.1 容量:更多可用数据17
2.1.2 多样性:更多数据类型17
2.1.3 速度:快速数据摄取18
2.2 商业用例18
2.2.1 产品推荐18
2.2.2 客户流失分析19
2.2.3 客户细分19
2.2.4 销售线索的优先级20
2.2.5 情感分析20
2.2.6 欺诈检测21
2.2.7 预测维护22
2.2.8 购物篮分析22
2.2.9 预测医学诊断23
2.2.10 预测患者再入院23
2.2.11 检测异常访问24
2.2.12 保险风险分析24
2.2.13 预测油气井生产水平24
2.3 小结25
第3章 Hadoop与数据科学26
3.1 Hadoop 究竟为何物26
3.1.1 分布式文件系统27
3.1.2 资源管理器和调度程序28
3.1.3 分布式数据处理框架29
3.2 Hadoop的演进历史31
3.3 数据科学的Hadoop工具32
3.3.1 Apache Sqoop33
3.3.2 Apache Flume33
3.3.3 Apache Hive34
3.3.4 Apache Pig35
3.3.5 Apache Spark36
3.3.6 R37
3.3.7 Python38
3.3.8 Java机器学习软件包39
3.4 Hadoop为何对数据科学家有用39
3.4.1 成本有效的存储39
3.4.2 读取模式40
3.4.3 非结构化和半结构化数据40
3.4.4 多语言工具41
3.4.5 强大的调度和资源管理功能41
3.4.6 分布式系统抽象分层42
3.4.7 可扩展的模型创建42
3.4.8 模型的可扩展应用43
3.5 小结43
第二部分 用Hadoop准备和可视化数据
第4章 将数据导入Hadoop46
4.1 Hadoop数据湖46
4.2 Hadoop分布式文件系统47
4.3 直接传输文件到 HDFS48
4.4 将数据从文件导入Hive表49
4.5 使用Spark将数据导入Hive表52
4.5.1 使用Spark将CSV文件导入Hive52
4.5.2 使用Spark将JSON文件导入Hive54
4.6 使用Apache Sqoop获取关系数据55
4.6.1 使用Sqoop导入和导出数据55
4.6.2 Apache Sqoop版本更改56
4.6.3 使用Sqoop版本2:基本示例57
4.7 使用Apache Flume获取数据流63
4.8 使用Apache Oozie管理Hadoop工作和数据流67
4.9 Apache Falcon68
4.10 数据摄取的下一步是什么69
4.11 小结70
第5章 使用 Hadoop 进行数据再加工 71
5.1 为什么选择Hadoop做数据再加工72
5.2 数据质量72
5.2.1 什么是数据质量72
5.2.2 处理数据质量问题73
5.2.3 使用Hadoop进行数据质量控制76
5.3 特征矩阵78
5.3.1 选择“正确”的特征78
5.3.2 抽样:选择实例79
5.3.3 生成特征80
5.3.4 文本特征81
5.3.5 时间序列特征84
5.3.6 来自复杂数据类型的特征84
5.3.7 特征操作85
5.3.8 降维86
5.4 小结88
第6章 探索和可视化数据89
6.1 为什么要可视化数据89
6.1.1 示例:可视化网络吞吐量89
6.1.2 想象未曾发生的突破92
6.2 创建可视化93
6.2.1 对比图94
6.2.2 组成图96
6.2.3 分布图98
6.2.4 关系图99
6.3 针对数据科学使用可视化101
6.4 流行的可视化工具101
6.4.1 R101
6.4.2 Python:Matplotlib、Seaborn和其他102
6.4.3 SAS102
6.4.4 Matlab103
6.4.5 Julia103
6.4.6 其他可视化工具103
6.5 使用Hadoop可视化大数据103
6.6 小结104
第三部分 使用Hadoop进行数据建模
第7章 Hadoop与机器学习106
7.1 机器学习概述106
7.2 术语107
7.3 机器学习中的任务类型107
7.4 大数据和机器学习108
7.5 机器学习工具109
7.6 机器学习和人工智能的未来110
7.7 小结110
第8章 预测建模111
8.1 预测建模概述111
8.2 分类与回归112
8.3 评估预测模型113
8.3.1 评估分类器114
8.3.2 评估回归模型116
8.3.3 交叉验证117
8.4 有监督学习算法117
8.5 构建大数据预测模型的解决方案118
8.5.1 模型训练118
8.5.2 批量预测120
8.5.3 实时预测120
8.6 示例:情感分析121
8.6.1 推文数据集121
8.6.2 数据准备122
8.6.3 特征生成122
8.6.4 建立一个分类器125
8.7 小结126
第9章 聚类127
9.1 聚类概述127
9.2 聚类的使用128
9.3 设计相似性度量128
9.3.1 距离函数129
9.3.2 相似函数129
9.4 聚类算法130
9.5 示例:聚类算法131
9.5.1 k均值聚类131
9.5.2 LDA131
9.6 评估聚类和选择集群数量132
9.7 构建大数据集群解决方案133
9.8 示例:使用LDA进行主题建模134
9.8.1 特征生成135
9.8.2 运行 LDA136
9.9 小结137
第10章 Hadoop异常检测139
10.1 概述139
10.2 异常检测的使用140
10.3 数据中的异常类型140
10.4 异常检测的方法141
10.4.1 基于规则方法141
10.4.2 有监督学习方法141
10.4.3 无监督学习方法142
10.4.4 半监督学习方法143
10.5 调整异常检测系统143
10.6 使用Hadoop构建大数据异常检测解决方案144
10.7 示例:检测网络入侵145
10.7.1 数据摄取147
10.7.2 建立一个分类器148
10.7.3 性能评估150
10.8 小结151
第11章 自然语言处理152
11.1 自然语言处理概述152
11.1.1 历史方法153
11.1.2 NLP用例153
11.1.3 文本分割153
11.1.4 词性标注154
11.1.5 命名实体识别154
11.1.6 情感分析154
11.1.7 主题建模155
11.2 Hadoop中用于NLP的工具155
11.2.1 小模型NLP155
11.2.2 大模型NLP156
11.3 文本表示157
11.3.1 词袋模型157
11.3.2 Word2vec158
11.4 情感分析示例158
11.4.1 Stanford CoreNLP159
11.4.2 用Spark进行情感分析159
11.5 小结162
第12章 数据科学与Hadoop——下一个前沿163
12.1 自动数据发现163
12.2 深度学习164
12.3 小结167
附录A 本书网站和代码下载168
附录B HDFS快速入门169
附录C 数据科学、Apache Hadoop和Spark的补充背景知识175

教学资源推荐
作者: [美] 丹尼尔·卡斯沃姆(Daniel Kusswurm) 著
作者: (美)Clovis L.Tondo,Scott E.Gimpel
作者: Stuart Reges;Marty Stepp
作者: [美]本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup)著
参考读物推荐
作者: (哈萨克斯坦)贝特·麦克哈贝尔(Bater Makhabel) 著
作者: 王国辉 陈英 等编著
作者: George Shepherd