Hadoop高级数据分析使用Hadoop生态系统设计和构建大数据系统

Hadoop高级数据分析使用Hadoop生态系统设计和构建大数据系统"

作者:[美]KerryKoitzsch著王建峰王瑛琦于金峰译
ISBN:9787302487302
定价:¥59.80
字数:千字
页数:
出版时间:2018.01.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

掌握Hadoop高级数据分析技术

  学习高级分析技术,并利用现有工具包使分析应用更加强大、精确和高效!《Hadoop高级数据分析 使用Hadoop生态系统设计和构建大数据系统》将架构、设计及实现信息恰当地融为一体,将指导你创建超越基础方法(SF分类、聚类、推荐)的分析系统。

  在《Hadoop 高级数据分析  使用Hadoop 生态系统设计和构建大数据系统》中,最佳实践强调“确保连贯、高效的开发”。将使用包含工具箱、库、可视化组件和报表代码在内的标准第三方组件,借助集成“组合件”开发一个可运行的、可扩展的、端到端的完整示例系统。

《Hadoop 高级数据分析  使用Hadoop 生态系统设计和构建大数据系统》强调以下四点:

● 具有分析组件及合理可视化结果的完整、灵活、可配置、高性能数据管道系统的重要性。深入探讨的主题包括Spark、H2O、Vopal Wabbit(NLP)、Stanford NLP、Apache Mahout,以及其他适用的工具包、库和插件。

● 最佳实践和结构化设计原则。包括重要主题及示例部分。

● 用混合搭配或混合系统实现应用目标的重要性。你在学习深度示例时可体会到混合方法的重要性。

● 使用现有第三方库是有效开发的关键。在开发示例系统时,深度示例将展示一些第三方工具包的功能。

前言

前    言

Apache Hadoop软件库逐渐受到重视。它是许多公司、政府机构、科研设施进行高级分布式开发的基础。Hadoop生态系统现在包含几十个组件用于搜索引擎、数据库和数据仓库进行图像处理、深度学习及自然语言处理。随着Hadoop2的出现,不同的资源管理器可用于提供更高级别的复杂性和控制力。竞争对手、替代品以及Hadoop技术和架构的继承/变种比比皆是,包括Apache Flink、Apache Spark等。软件专家和评论员多次宣布“Hadoop的死亡”。

我们必须正视一个问题:Hadoop死了吗?这取决于Hadoop本身的感知界限。我们是否认为Apache Spark是Hadoop批处理文件方法的内存继承者,是Hadoop家族的一部分,仅仅因为Apache Spark也使用了Hadoop文件系统HDFS?存在很多“灰色区域”的其他例子,其中较新的技术取代或增强了原有的“Hadoop经典”功能。分布式计算是一个不断移动的目标,是Hadoop和Hadoop生态系统的分界线,在短短几年间已经发生了显著变化。在本书中,我们试图展示Hadoop及其相关生态系统的一些多样的、动态的方面,并试图说服你,尽管Hadoop发生变化,但它依然非常活跃、与当前的软件开发相关并且使数据分析程序员特别感兴趣。

目录

目    录

第Ⅰ部分 概念

 

第1章 概述:用Hadoop构建数据分析系统     3

1.1 构建DAS的必要性     4

1.2 Hadoop Core及其简史     4

1.3 Hadoop生态系统概述     5

1.4 AI技术、认知计算、深度学习以及BDA     6

1.5 自然语言处理与BDAS     6

1.6 SQL与NoSQL查询处理     6

1.7 必要的数学知识     7

1.8 设计及构建BDAS的循环过程     7

1.9 如何利用Hadoop生态系统实现BDA     10

1.10 “图像大数据”(IABD)基本思想     10

1.10.1 使用的编程语言     12

1.10.2 Hadoop生态系统的多语言组件     12

1.10.3 Hadoop生态系统架构     13

1.11 有关软件组合件与框架的注意事项     13

1.12 Apache Lucene、Solr及其他:开源搜索组件     14

1.13 建立BDAS的架构     15

1.14 你需要了解的事情     15

1.15 数据可视化与报表     17

1.15.1 使用Eclipse IDE作为开发环境     18

1.15.2 本书未讲解的内容     19

1.16 本章小结     21

第2章 Scala及Python进阶     23

2.1 动机:选择正确的语言定义应用     23

2.2 Scala概览     24

2.3 Python概览     29

2.4 错误诊断、调试、配置文件及文档     31

2.4.1 Python的调试资源     32

2.4.2 Python文档     33

2.4.3 Scala的调试资源     33

2.5 编程应用与示例     33

2.6 本章小结     34

2.7 参考文献     34

第3章 Hadoop及分析的标准工具集     35

3.1 库、组件及工具集:概览     35

3.2 在评估系统中使用深度学习方法     38

3.3 使用Spring框架及Spring Data     44

3.4 数字与统计库:R、Weka及其他     44

3.5 分布式系统的OLAP技术     44

3.6 用于分析的Hadoop工具集:Apache Mahout及相关工具     45

3.7 Apache Mahout的可视化     46

3.8 Apache Spark库与组件     46

3.8.1 可供选择的不同类型的shell     46

3.8.2 Apache Spark数据流     47

3.8.3 Sparkling Water与H2O机器学习     48

3.9 组件使用与系统建立示例     48

3.10 封包、测试和文档化示例系统     50

3.11 本章小结     51

3.12 参考文献     51

第4章 关系、NoSQL及图数据库     53

4.1 图查询语言:Cypher及Gremlin     55

4.2 Cypher示例     55

4.3 Gremlin示例     56

4.4 图数据库:Apache Neo4J     58

4.5 关系数据库及Hadoop生态系统     59

4.6 Hadoop以及UA组件     59

4.7 本章小结     63

4.8 参考文献     64

第5章 数据管道及其构建方法     65

5.1 基本数据管道     66

5.2 Apache Beam简介     67

5.3 Apache Falcon简介     68

5.4 数据源与数据接收:使用Apache Tika构建数据管道     68

5.5 计算与转换     70

5.6 结果可视化及报告     71

5.7 本章小结     74

5.8 参考文献     74

第6章 Hadoop、Lucene、Solr与高级搜索技术     75

6.1 Lucene/Solr生态系统简介     75

6.2 Lucene查询语法     76

6.3 使用Solr的编程示例     79

6.4 使用ELK栈(Elasticsearch、Logstash、Kibana)     85

6.5 Solr与Elasticsearch:特点与逻辑     93

6.6 应用于Elasticsearch和Solr的Spring Data组件     95

6.7 使用LingPipe和GATE实现定制搜索     99

6.8 本章小结     108

6.9 参考文献     108

 

第Ⅱ部分 架构及算法 

第7章 分析技术及算法概览     111

7.1 算法类型综述     111

7.2 统计/数值技术     112

7.3 贝叶斯技术     113

7.4 本体驱动算法     114

7.5 混合算法:组合算法类型     115

7.6 代码示例     116

7.7 本章小结     119

7.8 参考文献     119

第8章 规则引擎、系统控制与系统编排     121

8.1 规则系统JBoss Drools介绍     121

8.2 基于规则的软件系统控制     124

8.3 系统协调与JBoss Drools     125

8.4 分析引擎示例与规则控制     126

8.5 本章小结     129

8.6 参考文献     129

第9章 综合提升:设计一个完整的分析系统     131

9.1 本章小结     136

9.2 参考文献     136

 

第Ⅲ部分 组件与系统 

第10章 数据可视化:可视化与交互分析     139

10.1 简单的可视化     139

10.2 Angular JS和Friends简介     143

10.3 使用JHipster集成Spring XD

和Angular JS     143

10.4 使用d3.js、sigma.js及其他

工具     152

10.5 本章小结     153

10.6 参考文献     153

 

第Ⅳ部分 案例研究与应用 

第11章 生物信息学案例研究:分析显微镜载玻片数据     157

11.1 生物信息学介绍     157

11.2 自动显微镜简介     159

11.3 代码示例:使用图像填充HDFS     162

11.4 本章小结     165

11.5 参考文献     165

第12章 贝叶斯分析组件:识别信用卡诈骗     167

12.1 贝叶斯分析简介     167

12.2 贝叶斯组件用于信用卡诈骗检测     169

12.3 本章小结     172

12.4 参考文献     172

第13章 寻找石油:使用Apache Mahout分析地理数据     173

13.1 基于领域的Apache Mahout推理介绍     173

13.2 智能制图系统和Hadoop分析     179

13.3 本章小结     180

13.4 参考文献     180

第14章 “图像大数据”系统:一些案例研究     181

14.1 图像大数据简介     181

14.2 使用HIPI系统的第一个代码示例     184

14.3 BDA图像工具包利用高级语言功能     187

14.4 究竟什么是图像数据分析?     187

14.5 交互模块和仪表板     189

14.6 添加新的数据管道和分布式特征查找     189

14.7 示例:分布式特征查找算法     190

14.8 IABD工具包中的低级图像处理程序     194

14.9 术语     194

14.10 本章小结     195

14.11 参考文献     195

第15章 构建通用数据管道     199

15.1 示例系统的体系架构和描述     199

15.2 如何获取和运行示例系统     200

15.3 管道构建的五大策略     200

15.3.1 从数据源和接收装置工作     200

15.3.2 由中间向外发展     200

15.3.3 基于企业集成模式(EIP)的开发     200

15.3.4 基于规则的消息管道开发     201

15.3.5 控制+数据(控制流)管道     202

15.4 本章小结     202

15.5 参考文献     203

第16章 大数据分析的总结与展望     205

16.1 总结     205

16.2 大数据分析的现状     206

16.3 “孵化项目”和“初期

项目”     208

16.4 未来Hadoop及其后续思考     209

 

16.5 不同观点:目前Hadoop的替代方案     211

16.6 在“未来Hadoop”中使用机器学习和深度学习技术     211

16.7 数据可视化和BDA的前沿领域     212

16.8 结束语     212

附录A 设置分布式分析环境     215

附录B 获取、安装和运行示例分析系统     227

作者简介

编辑推荐

大数据类型多样、数量庞大、变化快速,这些特征对大数据分析师提出了新挑战。作为一种应对方案,大数据分析技术广泛应用于物联网、云计算等新兴领域,能够帮助企业用户在合理时间内处理海量数据,并为改善经营决策提供有效帮助。目前,存在多种大数据分析工具,相关技术正在不断走向成熟。Hadoop 作为一种优秀的开源框架,基于该架构的数据分析应用具有显著技术优势和应用前景,目前与Hadoop 大数据分析相关的出版物中,大多偏重于理论和技术介绍,有关具体应用实践方面的书籍相对偏少。

为了满足应用需求,《Hadoop 高级数据分析  使用Hadoop 生态系统设计和构建大数据系统》以设计并实现用于获取、分析、可视化大数据集的软件系统为目标,以应用案例为背景,系统地介绍利用Hadoop 及其生态系统进行大数据分析的各种工具和方法;本书讲述Hadoop 大数据分析的基本原理,呈现构建分析系统时所使用的标准架构、算法和技术,对应用案例进行了深入浅出的剖析,为读者掌握大数据分析基础架构及实施方法提供了详明实用的方案。

《Hadoop 高级数据分析  使用Hadoop 生态系统设计和构建大数据系统》在注重Hadoop 数据分析理论的同时,与大数据分析案例实践相结合,以生物、电信、资源勘查等行业真实案例为主线,详细讲解Hadoop 高级数据分析的过程。使读者可以自己动手实践,亲自体会开发的乐趣及大数据分析的强大魅力。通过本书的学习,读者能够更加快速且有效地掌握Hadoop 数据分析方法并积累实践经验。阅读《Hadoop 高级数据分析  使用Hadoop 生态系统设计和构建大数据系统》,可以帮助读者了解并掌握Hadoop 高级数据分析技术的具体操作方法,让读者真正理解其核心概念和基本原理。

作者寄语

Kerry Koitzsch在计算机科学、图像处理和软件工程等领域拥有超过二十年的工作经验,致力于研究Apache Hadoop和Apache Spark技术。Kerry擅长软件咨询,精通一些定制的大数据应用,包括分布式搜索、图像分析、立体视觉和智能图像检索系统。Kerry目前就职于Kildane软件技术股份有限公司,该公司是加州桑尼维尔市的一个机器人系统和图像分析软件提供商。

电子资料

www.luweidong.cn

下一个