Hadoop大数据分析实战pdf下载pdf下载

Hadoop大数据分析实战百度网盘pdf下载

作者:
简介:本篇主要提供Hadoop大数据分析实战pdf下载
出版社:
出版时间:2019-05-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介

本书详细阐述了与Hadoop 3大数据分析相关的基本解决方案,主要包括Hadoop简介、大数据分析概述、基于MapReduce的大数据处理、Python-Hadoop科学计算和大数据分析、R-Hadoop统计数据计算、Apache Spark批处理分析、Apache Spark实时数据分析、Apache Flink批处理分析、Apache Flink流式处 理、大数据可视化技术、云计算简介、使用亚马Web服务等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。


目录

目 录

第1章 Hadoop简介 1

1.1 Hadoop分布式文件系统 1

1.1.1 高可用性 2

1.1.2 内部DataNode均衡器 4

1.1.3 纠删码 4

1.1.4 端口号 4

1.2 MapReduce框架 5

1.3 YARN 6

1.3.1 机会型容器 7

1.3.2 YARN时间轴服务v.2 7

1.4 其他变化内容 9

1.4.1 最低Java版本 9

1.4.2 Shell脚本重写 9

1.4.3 覆盖客户端的JAR 10

1.5 安装Hadoop 3 10

1.5.1 准备条件 10

1.5.2 下载 10

1.5.3 安装 12

1.5.4 设置无密码ssh 12

1.5.5 设置NameNode 13

1.5.6 启动HDFS 13

1.5.7 设置YARN服务 17

1.5.8 纠删码 18

1.5.9 内部DataNode平衡器 21

1.5.10 安装时间轴服务v.2 21

1.6 本章小结 27

第2章 大数据分析概述 29

2.1 数据分析简介 29

2.2 大数据简介 30

2.2.1 数据的多样性 31

2.2.2 数据的速度 32

2.2.3 数据的容量 32

2.2.4 数据的准确性 32

2.2.5 数据的可变性 33

2.2.6 可视化 33

2.2.7 数值 33

2.2 使用Apache Hadoop的分布式计算 33

2.4 MapReduce框架 34

2.5 Hive 35

2.5.1 下载并解压Hive二进制文件 37

2.5.2 安装Derby 37

2.5.3 使用Hive 39

2.5.4 SELECT语句的语法 41

2.5.5 INSET语句的语法 44

2.4.6 原始类型 44

2.5.7 复杂类型 45

2.5.8 内建运算符和函数 45

2.5.9 语言的功能 50

2.6 Apache Spark 51

2.7 基于Tableau的可视化操作 52

2.8 本章小结 54

第3章 基于MapReduce的大数据处理 55

3.1 MapReduce框架 55

3.1.1 数据集 57

3.1.2 记录读取器 58

3.1.3 映射 59

3.1.4 组合器 59

3.1.5 分区器 60

3.1.6 混洗和排序 60

3.1.7 reducer任务 60

3.1.8 输出格式 61

3.2 MapReduce作业类型 61

3.2.1 SingleMapper作业 63

3.2.2 SingleMapperReducer作业 72

3.2.3 MultipleMappersReducer作业 77

3.2.4 SingleMapperReducer作业 83

3.2.5 应用场景 84

3.3 MapReduce模式 88

3.3.1 聚合模式 88

3.3.2 过滤模式 90

3.3.3 连接模式 91

3.4 本章小结 100

第4章 Python-Hadoop科学计算和大数据分析 101

4.1 安装操作 101

4.1.1 安装Python 101

4.1.2 安装Anaconda 103

4.2 数据分析 110

4.3 本章小结 134

第5章 R-Hadoop统计数据计算 135

5.1 概述 135

5.1.1 在工作站上安装R并连接Hadoop中的数据 135

5.1.2 在共享服务器上安装R并连接至Hadoop 136

5.1.3 利用Revolution R Open 136

5.1.4 利用RMR2在MapReduce内执行R 137

5.2 R语言和Hadoop间的集成方法 138

5.2.1 RHadoop—在工作站上安装R并将数据连接至Hadoop中 139

5.2.2 RHIPE—在Hadoop MapReduce中执行R语言 139

5.2.3 R和Hadoop流 139

5.2.4 RHIVE—在工作站上安装R并连接至Hadoop数据 140

5.2.5 ORCH—基于Hadoop的Oracle连接器 140

5.3 数据分析 140

5.4 本章小结 165

第6章 Apache Spark批处理分析 167

6.1 SparkSQL和DataFrame 167

6.2 DataFrame API和SQL API 171

6.2.1 旋转 176

6.2.2 过滤器 177

6.2.3 用户定义的函数 178

6.3 模式—数据的结构 178

6.3.1 隐式模式 179

6.3.2 显式模式 179

6.3.3 编码器 181

6.4 加载数据集 182

6.5 保存数据集 183

6.6 聚合 183

6.6.1 聚合函数 184

6.6.2 窗口函数 194

6.6.3 ntiles 195

6.7 连接 197

6.7.1 连接的内部工作机制 199

6.7.2 混洗连接 199

6.7.3 广播连接 199

6.7.4 连接类型 200

6.7.5 内部连接 201

6.7.6 左外连接 202

6.7.7 右外连接 203

6.7.8 全外连接 204

6.7.9 左反连接 205

6.7.10 左半连接 206

6.7.11 交叉连接 206

6.7.12 连接的操作性能 207

6.8 本章小结 208

第7章 Apache Spark实时数据分析 209

7.1 数据流 209

7.1.1 “至少一次”处理 211

7.1.2 “最多一次”处理 211

7.1.3 “仅一次”处理 212

7.2 Spark Streaming 214

7.2.1 StreamingContext 215

7.2.2 创建StreamingContext 215

7.2.3 启用StreamingContext 216

7.2.4 终止StreamingContext 216

7.3 fileStream 217

7.3.1 textFileStream 217

7.3.2 binaryRecordsStream 217

7.3.3 queueStream 218

7.3.4 离散流 219

7.4 转换 222

7.4.1 窗口操作 223

7.4.2 有状态/无状态转换 226

7.5 检查点 227

7.5.1 元数据检查点 228

7.5.2 数据检查点 228

7.6 驱动程序故障恢复 229

7.7 与流平台的互操作性(Apache Kafka) 230

7.7.1 基于接收器的方案 230

7.7.2 Direct Stream 232

7.7.3 Structured Streaming 233

7.8 处理事件时间和延迟日期 236

7.9 容错示意图 237

7.10 本章小结 237

第8章 Apache Flink批处理分析 239

8.1 Apache Flink简介 239

8.1.1 无界数据集的连续处理 240

8.1.2 Flink、数据流模型和有界数据集 241

8.2 安装Flink 241

8.3 使用Flink集群UI 248

8.4 批处理分析 251

8.4.1 读取文件 251

8.4.2 转换 254

8.4.3 groupBy 258

8.4.4 聚合 260

8.4.5 连接 261

8.4.6 写入文件 272

8.5 本章小结 274

第9章 Apache Flink流式处理 275

9.1 流式执行模型简介 275

9.2 利用DataStream API进行数据处理 277

9.2.1 执行环境 278

9.2.2 数据源 278

9.2.3 转换 282

9.3 本章小结 300

第10章 大数据可视化技术 301

10.1 数据可视化简介 301

10.2 Tableau 302

10.3 图表类型 313

10.3.1 线状图 314

10.3.2 饼图 314

10.3.3 柱状图 315

10.3.4 热图 316

10.4 基于Python的数据可视化 317

10.5 基于R的数据可视化 319

10.6 大数据可视化工具 320

10.7 本章小结 321

第11章 云计算简介 323

11.1 概念和术语 323

11.1.1 云 323

11.1.2 IT资源 324

11.1.3 本地环境 324

11.1.4 云使用者和云供应商 324

11.1.5 扩展 324

11.2 目标和收益 325

11.2.1 可扩展性的提升 326

11.2.2 可用性和可靠性的提升 326

11.3 风险和挑战 327

11.3.1 安全漏洞 327

11.3.2 减少运营治理控制 328

11.3.3 云提供商之间有限的可移植性 328

11.4 角色和边界 328

11.4.1 云供应商 328

11.4.2 云使用者 328

11.4.3 云服务持有者 328

11.4.4 云资源管理员 329

11.5 云特征 329

11.5.1 按需使用 330

11.5.2 无处不在的访问 330

11.5.3 多租户机制(和资源池机制) 330

11.5.4 弹性 330

11.5.5 监测应用状态 330

11.5.6 弹性计算 331

11.6 云交付模型 331

11.6.1 基础设施即服务 331

11.6.2 平台即服务 331

11.6.3 软件即服务 332

11.6.4 整合云交付模型 332

11.7 云部署模型 333

11.7.1 公共云 333

11.7.2 社区云 334

11.7.3 私有云 334

11.7.4 混合云 334

11.8 本章小结 335

第12章 使用亚马逊Web服务 337

12.1 Amazon Elastic Compute Cloud 337

12.1.1 弹性Web计算 337

12.1.2 对操作的完整控制 338

12.1.3 灵活的云托管服务 338

12.1.4 集成 338

12.1.5 高可靠性 338

12.1.6 安全性 338

12.1.7 经济性 338

12.1.8 易于启动 339

12.1.9 亚马云及其镜像 339

12.2 启用多个AMI实例 340

12.2.1 实例 340

12.2.2 AMI 340

12.2.3 区域和可用区 340

12.2.4 区域和可用区概念 341

12.2.5 区域 341

12.2.6 可用区 341

12.2.7 可用区域 342

12.2.8 区域和端点 342

12.2.9 实例类型 343

12.2.10 Amazon EC2和亚马逊虚拟私有云 343

12.3 AWS Lambda 344

12.4 Amazon S3简介 345

12.4.1 Amazon S3功能 345

12.4.2 全面的安全和协从能力 346

12.4.3 就地查询 346

12.4.4 灵活的管理机制 346

12.4.5 最受支持的平台以及最大的生态系统 347

12.4.6 简单、方便的数据传输机制 347

12.4.7 备份和恢复 347

12.4.8 数据存档 347

12.4.9 数据湖和数据分析 348

12.4.10 混合云存储 348

12.4.11 原生云应用程序数据 348

12.4.12 灾难恢复 348

12.5 Amazon DynamoDB 349

12.6 Amazon Kinesis Data Streams 349

12.6.1 加速日志和数据提要的输入和处理 350

12.6.2 实时度量和报告机制 350

12.6.3 实时数据分析 350

12.6.4 复杂的数据流处理 350

12.6.5 Kinesis Data Streams的优点 350

12.7 AWS Glue 351

12.8 Amazon EMR 352

12.9 本章小结 363


前言/序言

前 言

Apache Hadoop是一类流行的大数据处理平台,并可与大多数大数据工具集成,以构建功能强大的数据分析方案。本书将围绕这一点对相关软件展开讨论,同时辅以大量的操作实例。

在本书阅读过程中,读者将会系统学习HDFS、MapReduce、YARN方面的知识,以及如何实现快速、高效的大数据处理方案。此外,本书还将Hadoop与其他开源工具集成,例如Python和R语言,进而分析和可视化数据,同时针对大数据进行统计计算。一旦读者掌握了这些内容,即可尝试在Apache Spark和Apache Flink的基础上应用Hadoop,最终实现实时数据分析和流式处理。除此之外,本书还将讨论如何在云端和端到端管道上利用Hadoop构建数据分析方案,并通过操作实例执行大数据分析任务。

在阅读完本书后,读者将具备基于Hadoop生态系统的分析能力,同时可构建强大的解决方案执行大数据分析,并拥有自己的技术观点。

适用读者

如果读者希望使用Hadoop 3的强大功能为企业或业务构建高性能的分析解决方案,或者您是一名大数据分析新手,那么本书将十分适合于您。另外,本书需要读者具备Java编程方面的基础知识。

本书内容

第1章将介绍Hadoop环境及其核心组件,包括HDFS和MapReduce。

第2章将讨论大型数据集的检测处理过程,从中发现数据的模式,生成相应的报告并采集有价值的内容。

第3章将讨论MapReduce,这也是大多数计算/处理系统中的基本概念。

第4章探讨Python语言,并在此基础上通过Hadoop对大数据进行分析。

第5章介绍了R语言,同时阐述了如何使用R语言并借助于Hadoop执行大数据统计计算。

第6章将考查Apache Spark,同时根据批处理模型使用Spark进行大数据分析。

第7章将对Apache Spark的流式处理模型进行分析,以及如何打造基于流式的实时分析应用程序。

第8章主要介绍Apache Flink,及其基于批处理模型的、针对大数据分析的应用方式。

第9章讨论DataStream API和基于Flink的流处理。其中,Flink用于接收和处理实时事件流,并在Hadoop集群中存储聚合和结果。

第10章考查数据可视化问题,并通过各种工具和技术实现这一功能,例如Tableau。

第11章讲述云计算以及各种概念,例如IaaS、PaaS和SaaS。除此之外,本章还将对云供应商加以简要介绍。

第12章介绍AWS和AWS中的各种服务,这些服务使用Elastic MapReduce(EMR)在AWS云中建立Hadoop集群,这对执行大数据分析非常有用。

软件和硬件环境

本书示例是在64位 Linux 上使用Scala、Java、R和Python语言实现的。另外,还应在机器上安装下列内容(建议使用最新版本):

? Spark 2.3.0(或更高版本)。

? Hadoop 3.1(或更高版本)。

? Flink 1.4。

? Java(JDK和JRE)1.8+。

? Scala 2.11.x(或更高版本)。

? Python 2.7+/3.4+。

? R 3.1+和RStudio 1.0.143。

? Eclipse Mars或Idea IntelliJ(最新版本)。

关于操作系统,最好使用Linux发行版(包括Debian、Ubuntu、Fedora、RHEL和CentOS)。具体来说,例如,对于Ubuntu,建议使用完整的14.04 (LTS) 64位安装、VMWare player 12或Virtual box。此外,还可在Windows(XP/7/8/10)或者macOS X(10.4.7+)上运行代码。

关于硬件配置,可采用Core i3、Core i5(推荐)~Core i7(获得最佳效果)。然而,多核处理将提供更快的数据处理以及较好的可伸缩性。另外,对于单系统模式,至少使用8GB RAM(推荐);单个VM至少使用32GB RAM;对于集群,则至少使用32GB RAM。足够的存储空间可运行繁重的任务(取决于将要处理的数据集大小),最好至少包含50GB的空闲磁盘存储空间(用于独立系统和SQL仓库)。

资源下载

读者可访问http://www.packtpub.com并通过个人账户下载示例代码文件。另外,http://www.packtpub.com/support,注册成功后,我们将以电子邮件的方式将相关文件发与读者。

读者可根据下列步骤下载代码文件:

(1)登录www.packtpub.com并注册我们的网站。

(2)选择SUPPORT选项卡。

(3)单击Code Downloads & Errata。

(4)在Search文本框中输入书名并执行后续命令。

当文件下载完毕后,确保使用下列最新版本软件解压文件夹:

? Windows系统下的WinRAR/7-Zip。

? Mac系统下的Zipeg/iZip/UnRarX。

? Linux系统下的7-Zip/PeaZip。

另外,读者还可访问GitHub获取本书的代码包,对应网址为https://github.com/ PacktPublishing/Big-Data-Analytics-with-Hadoop-3。代码与GitHub存储库将实现同步更新。

此外,读者还可访问https://github.com/PacktPublishing/以了解丰富的代码和视频资源。

除此之外,我们还提供了PDF文件,其中包含了本书所用截图/图表的彩色图像。读者访问http://www.packtpub.com/sites/default/files/downloads/BigDataAnalyticswithHadoop3_ ColorImages.pdf进行下载。

本书约定

代码块则通过下列方式设置:


hdfs dfs -copyFromLocal temperatures.csv /user/normal


代码中的重点内容则采用黑体表示:


Map-Reduce Framework -- output average temperature per city name

Map input records=35

Map output records=33

Map output bytes=208

Map output materialized bytes=286


命令行输入或输出如下所示:


$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

$ chmod 0600 ~/.ssh/authorized_keys


图标表示较为重要的说明事项。

图标则表示提示信息和操作技巧。

读者反馈和客户支持

欢迎读者对本书的建议或意见予以反馈。

对此,读者可向feedback@packtpub.com发送邮件,并以书名作为邮件标题。若读者对本书有任何疑问,均可发送邮件至questions@packtpub.com,我们将竭诚为您服务。

勘误表

尽管我们在最大程度上做到尽善尽美,但错误依然在所难免。如果读者发现谬误之处,无论是文字错误抑或是代码错误,还望不吝赐教。对此,读者可访问http://www.packtpub. com/submit-errata,选取对应书籍,单击Errata Submission Form超链接,并输入相关问题的详细内容。

版权须知

一直以来,互联网上的版权问题从未间断,Packt出版社对此类问题异常重视。若读者在互联网上发现本书任意形式的副本,请告知网络地址或网站名称,我们将对此予以处理。关于盗版问题,读者可发送邮件至copyright@packtpub.com。

若读者针对某项技术具有专家级的见解,抑或计划撰写书籍或完善某部著作的出版工作,则可访问www.packtpub.com/authors。

问题解答

若读者对本书有任何疑问,均可发送邮件至questions@packtpub.com,我们将竭诚为您服务。