YL12874 9787302490739 9787302479673
为降低读者学习大数据技术的门槛,书中提供了丰富的上机实践操作和范例程序详解,展示了如何在单机Windows系统上通过Virtual Box虚拟机安装多机Linux虚拟机,如何建立Hadoop集群,再建立Spark开发环境。书中介绍搭建的上机实践平台并不限制于单台实体计算机。对于有条件的公司和学校,参照书中介绍的搭建过程,同样可以实现将自己的平台搭建在多台实体计算机上,以便更加接近于大数据和机器学习真实的运行环境。
本书非常适合于学习大数据基础知识的初学者阅读,更适合正在学习大数据理论和技术的人员作为上机实践用的教材。
第1章 Python Spark机器学习与Hadoop大数据 1
1.1 机器学习的介绍 2
1.2 Spark的介绍 5
1.3 Spark数据处理 RDD、DataFrame、Spark SQL 7
1.4 使用Python开发 Spark机器学习与大数据应用 8
1.5 Python Spark 机器学习 9
1.6 Spark ML Pipeline机器学习流程介绍 10
1.7 Spark 2.0的介绍 12
1.8 大数据定义 13
1.9 Hadoop 简介 14
1.10 Hadoop HDFS分布式文件系统 14
1.11 Hadoop MapReduce的介绍 17
1.12 结论 18
第2章 VirtualBox虚拟机软件的安装 19
2.1 VirtualBox的下载和安装 20
2.2 设置VirtualBox存储文件夹 23
2.3 在VirtualBox创建虚拟机 25
2.4 结论 29
第3章 Ubuntu Linux 操作系统的安装 30
3.1 Ubuntu Linux 操作系统的安装 31
3.2 在Virtual设置Ubuntu虚拟光盘文件 33
3.3 开始安装Ubuntu 35
3.4 启动Ubuntu 40
3.5 安装增强功能 41
3.6 设置默认输入法 45
3.7 设置“终端”程序 48
3.8 设置“终端”程序为白底黑字 49
3.9 设置共享剪贴板 50
3.10 设置最佳下载服务器 52
3.11 结论 56
第4章 Hadoop Single Node Cluster的安装 57
4.1 安装JDK 58
4.2 设置SSH无密码登录 61
4.3 下载安装Hadoop 64
4.4 设置Hadoop环境变量 67
4.5 修改Hadoop配置设置文件 69
4.6 创建并格式化HDFS目录 73
4.7 启动Hadoop 74
4.8 打开Hadoop Resource-Manager Web界面 76
4.9 NameNode HDFS Web界面 78
4.10 结论 79
第5章 Hadoop Multi Node Cluster的安装 80
5.1 把Single Node Cluster复制到data1 83
5.2 设置VirtualBox网卡 84
5.3 设置data1服务器 87
5.4 复制data1服务器到data2、data3、master 94
5.5 设置data2服务器 97
5.6 设置data3服务器 100
5.7 设置master服务器 102
5.8 master连接到data1、data2、data3 创建HDFS目录 107
5.9 创建并格式化NameNode HDFS目录 110
5.10 启动Hadoop Multi Node Cluster 112
5.11 打开Hadoop ResourceManager Web界面 114
5.12 打开NameNode Web界面 115
5.13 停止Hadoop Multi Node Cluster 116
5.14 结论 116
第 6 章 Hadoop HDFS命令 117
6.1 启动Hadoop Multi-Node Cluster 118
6.2 创建与查看HDFS目录 120
6.3 从本地计算机复制文件到HDFS 122
6.4 将HDFS上的文件复制到本地计算机 127
6.5 复制与删除HDFS文件 129
6.6 在Hadoop HDFS Web用户界面浏览HDFS 131
6.7 结论 134
第7章 Hadoop MapReduce 135
7.1 简单介绍WordCount.java 136
7.2 编辑WordCount.java 137
7.3 编译WordCount.java 141
7.4 创建测试文本文件 143
7.5 运行WordCount.java 145
7.6 查看运行结果 146
7.7 结论 147
第8章 Python Spark的介绍与安装 148
8.1 Scala的介绍与安装 150
8.2 安装Spark 153
8.3 启动pyspark交互式界面 156
8.4 设置pyspark显示信息 157
8.5 创建测试用的文本文件 159
8.6 本地运行pyspark程序 161
8.7 在Hadoop YARN运行pyspark 163
8.8 构建Spark Standalone Cluster运行环境 165
8.9 在Spark Standalone运行pyspark 171
8.10 Spark Web UI界面 173
8.11 结论 175
第9章 在 IPython Notebook 运行 Python Spark 程序 176
9.1 安装Anaconda 177
9.2 在IPython Notebook使用Spark 180
9.3 打开IPython Notebook笔记本 184
9.4 插入程序单元格 185
9.5 加入注释与设置程序代码说明标题 186
9.6 关闭IPython Notebook 188
9.7 使用IPython Notebook在Hadoop YARN-client模式运行 189
9.8 使用IPython Notebook在Spark Stand Alone模式运行 192
9.9 整理在不同的模式运行IPython Notebook的命令 194
9.9.1 在 Local 启动 IPython Notebook 195
9.9.2 在Hadoop YARN-client 模式启动 IPython Notebook 195
9.9.3 在Spark Stand Alone 模式启动 IPython Notebook 195
9.10 结论 196
第10章 Python Spark RDD 197
10.1 RDD的特性 198
10.2 开启IPython Notebook 199
10.3 基本RDD“转换”运算 201
10.4 多个RDD“转换”运算 206
10.5 基本“动作”运算 208
10.6 RDD Key-Value 基本“转换”运算 209
10.7 多个RDD Key-Value“转换”运算 212
10.8 Key-Value“动作”运算 215
10.9 Broadcast 广播变量 217
10.10 accumulator累加器 220
10.11 RDD Persistence持久化 221
10.12 使用Spark创建WordCount 223
10.13 Spark WordCount详细解说 226
10.14 结论 228
第11章 Python Spark的集成开发环境 229
11.1 下载与安装eclipse Scala IDE 232
11.2 安装PyDev 235
11.3 设置字符串替代变量 240
11.4 PyDev 设置 Python 链接库 243
11.5 PyDev设置anaconda2链接库路径 245
11.6 PyDev设置Spark Python链接库 247
11.7 PyDev设置环境变量 248
11.8 新建PyDev项目 251
11.9 加入WordCount.py程序 253
11.10 输入WordCount.py程序 254
11.11 创建测试文件并上传至HDFS目录 257
11.12 使用spark-submit执行WordCount程序 259
11.13 在Hadoop YARN-client上运行WordCount程序 261
11.14 在Spark Standalone Cluster上运行WordCount程序 264
11.15 在eclipse外部工具运行Python Spark程序 267
11.16 在eclipse运行spark-submit YARN-client 273
11.17 在eclipse运行spark-submit Standalone 277
11.18 结论 280
第12章 Python Spark创建推荐引擎 281
12.1 推荐算法介绍 282
12.2 “推荐引擎”大数据分析使用场景 282
12.3 ALS推荐算法的介绍 283
12.4 如何搜索数据 285
12.5 启动IPython Notebook 289
12.6 如何准备数据 290
12.7 如何训练模型 294
12.8 如何使用模型进行推荐 295
12.9 显示推荐的电影名称 297
12.10 创建Recommend项目 299
12.11 运行RecommendTrain.py 推荐程序代码 302
12.12 创建Recommend.py推荐程序代码 304
12.13 在eclipse运行Recommend.py 307
12.14 结论 310
第13章 Python Spark MLlib决策树二元分类 311
13.1 决策树介绍 312
13.2 “StumbleUpon Evergreen”大数据问题 313
13.2.1 Kaggle网站介绍 313
13.2.2 “StumbleUpon Evergreen”大数据问题场景分析 313
13.3 决策树二元分类机器学习 314
13.4 如何搜集数据 315
13.4.1 StumbleUpon数据内容 315
13.4.2 下载 StumbleUpon 数据 316
13.4.3 用LibreOffice Calc 电子表格查看train.tsv 319
13.4.4 复制到项目目录 322
13.5 使用IPython Notebook示范 323
13.6 如何进行数据准备 324
13.6.1 导入并转换数据 324
13.6.2 提取 feature 特征字段 327
13.6.3 提取分类特征字段 328
13.6.4 提取数值特征字段 331
13.6.5 返回特征字段 331
13.6.6 提取 label 标签字段 331
13.6.7 建立训练评估所需的数据 332
13.6.8 以随机方式将数据分为 3 部分并返回 333
13.6.9 编写 PrepareData(sc) 函数 333
13.7 如何训练模型 334
13.8 如何使用模型进行预测 335
13.9 如何评估模型的准确率 338
13.9.1 使用 AUC 评估二元分类模型 338
13.9.2 计算 AUC 339
13.10 模型的训练参数如何影响准确率 341
13.10.1 建立 trainEvaluateModel 341
13.10.2 评估impurity参数 343
13.10.3 训练评估的结果以图表显示 344
13.10.4 编写 evalParameter 347
13.10.5 使用 evalParameter 评估 maxDepth 参数 347
13.10.6 使用 evalParameter 评估 maxBins 参数 348
13.11 如何找出准确率最高的参数组合 349
13.12 如何确认是否过度训练 352
13.13 编写RunDecisionTreeBinary.py程序 352
13.14 开始输入RunDecisionTreeBinary.py程序 353
13.15 运行RunDecisionTreeBinary.py 355
13.15.1 执行参数评估 355
13.15.2 所有参数训练评估找出最好的参数组合 355
13.15.3 运行 RunDecisionTreeBinary.py 不要输入参数 357
13.16 查看DecisionTree的分类规则 358
13.17 结论 360
第14章 Python Spark MLlib 逻辑回归二元分类 361
14.1 逻辑回归分析介绍 362
14.2 RunLogisticRegression WithSGDBinary.py程序说明 363
14.3 运行RunLogisticRegression WithSGDBinary.py进行参数评估 367
14.4 找出最佳参数组合 370
14.5 修改程序使用参数进行预测 370
14.6 结论 372
第15章 Python Spark MLlib支持向量机SVM二元分类 373
15.1 支持向量机SVM算法的基本概念 374
15.2 运行SVMWithSGD.py进行参数评估 376
15.3 运行SVMWithSGD.py 训练评估参数并找出最佳参数组合 378
15.4 运行SVMWithSGD.py 使用最佳参数进行预测 379
15.5 结论 381
第16章 Python Spark MLlib朴素贝叶斯二元分类 382
16.1 朴素贝叶斯分析原理的介绍 383
16.2 RunNaiveBayesBinary.py程序说明 384
16.3 运行NaiveBayes.py进行参数评估 386
16.4 运行训练评估并找出最好的参数组合 387
16.5 修改RunNaiveBayesBinary.py 直接使用最佳参数进行预测 388
16.6 结论 390
第17章 Python Spark MLlib决策树多元分类 391
17.1 “森林覆盖植被”大数据问题分析场景 392
17.2 UCI Covertype数据集介绍 393
17.3 下载与查看数据 394
17.4 修改PrepareData() 数据准备 396
17.5 修改trainModel 训练模型程序 398
17.6 使用训练完成的模型预测数据 399
17.7 运行RunDecisionTreeMulti.py 进行参数评估 401
17.8 运行RunDecisionTreeMulti.py 训练评估参数并找出最好的参数组合 403
17.9 运行RunDecisionTreeMulti.py 不进行训练评估 404
17.10 结论 406
第18章 Python Spark MLlib决策树回归分析 407
18.1 Bike Sharing大数据问题分析 408
18.2 Bike Sharing数据集 409
18.3 下载与查看数据 409
18.4 修改 PrepareData() 数据准备 412
18.5 修改DecisionTree.trainRegressor训练模型 415
18.6 以 RMSE 评估模型准确率 416
18.7 训练评估找出最好的参数组合 417
18.8 使用训练完成的模型预测数据 417
18.9 运行RunDecisionTreeMulti.py进行参数评估 419
18.10 运行RunDecisionTreeMulti.py训练评估参数并找出最好的参数组合 421
18.11 运行RunDecisionTreeMulti.py 不进行训练评估 422
18.12 结论 424
第19章 Python Spark SQL、DataFrame、RDD数据统计与可视化 425
19.1 RDD、DataFrame、Spark SQL 比较 426
19.2 创建RDD、DataFrame与Spark SQL 427
19.2.1 在 local 模式运行 IPython Notebook 427
19.2.2 创建RDD 427
19.2.3 创建DataFrame 428
19.2.4 设置 IPython Notebook 字体 430
19.2.5 为DataFrame 创建别名 431
19.2.6 开始使用 Spark SQL 431
19.3 SELECT显示部分字段 434
19.3.1 使用 RDD 选取显示部分字段 434
19.3.2 使用 DataFrames 选取显示字段 434
19.3.3 使用 Spark SQL 选取显示字段 435
19.4 增加计算字段 436
19.4.1 使用 RDD 增加计算字段 436
19.4.2 使用 DataFrames 增加计算字段 436
19.4.3 使用 Spark SQL 增加计算字段 437
19.5 筛选数据 438
19.5.1 使用 RDD 筛选数据 438
19.5.2 使用 DataFrames 筛选数据 438
19.5.3 使用 Spark SQL 筛选数据 439
19.6 按单个字段给数据排序 439
19.6.1 RDD 按单个字段给数据排序 439
19.6.2 使用 Spark SQL排序 440
19.6.3 使用 DataFrames按升序给数据排序 441
19.6.4 使用 DataFrames按降序给数据排序 442
19.7 按多个字段给数据排序 442
19.7.1 RDD 按多个字段给数据排序 442
19.7.2 Spark SQL 按多个字段给数据排序 443
19.7.3 DataFrames 按多个字段给数据排序 443
19.8 显示不重复的数据 444
19.8.1 RDD 显示不重复的数据 444
19.8.2 Spark SQL 显示不重复的数据 445
19.8.3 Dataframes显示不重复的数据 445
19.9 分组统计数据 446
19.9.1 RDD 分组统计数据 446
19.9.2 Spark SQL分组统计数据 447
19.9.3 Dataframes分组统计数据 448
19.10 Join 联接数据 450
19.10.1 创建 ZipCode 450
19.10.2 创建 zipcode_tab 452
19.10.3 Spark SQL 联接 zipcode_table 数据表 454
19.10.4 DataFrame user_df 联接 zipcode_df 455
19.11 使用 Pandas DataFrames 绘图 457
19.11.1 按照不同的州统计并以直方图显示 457
19.11.2 按照不同的职业统计人数并以圆饼图显示 459
19.12 结论 461
第20章 Spark ML Pipeline 机器学习流程二元分类 462
20.1 数据准备 464
20.1.1 在 local 模式执行 IPython Notebook 464
20.1.2 编写 DataFrames UDF 用户自定义函数 466
20.1.3 将数据分成 train_df 与 test_df 468
20.2 机器学习pipeline流程的组件 468
20.2.1 StringIndexer 468
20.2.2 OneHotEncoder 470
20.2.3 VectorAssembler 472
20.2.4 使用 DecisionTreeClassi?er 二元分类 474
20.3 建立机器学习pipeline流程 475
20.4 使用pipeline进行数据处理与训练 476
20.5 使用pipelineModel 进行预测 477
20.6 评估模型的准确率 478
20.7 使用TrainValidation进行训练验证找出最佳模型 479
20.8 使用crossValidation交叉验证找出最佳模型 481
20.9 使用随机森林 RandomForestClassi?er分类器 483
20.10 结论 485
第21章 Spark ML Pipeline 机器学习流程多元分类 486
21.1 数据准备 487
21.1.1 读取文本文件 488
21.1.2 创建 DataFrame 489
21.1.3 转换为 double 490
21.2 建立机器学习pipeline流程 492
21.3 使用dt_pipeline进行数据处理与训练 493
21.4 使用pipelineModel 进行预测 493
21.5 评估模型的准确率 495
21.4 使用TrainValidation进行训练验证找出最佳模型 496
21.7 结论 498
第22章 Spark ML Pipeline 机器学习流程回归分析 499
22.1 数据准备 501
22.1.1 在local 模式执行 IPython Notebook 501
22.1.2 将数据分成 train_df 与 test_df 504
22.2 建立机器学习pipeline流程 504
22.3 使用dt_pipeline进行数据处理与训练 506
22.4 使用pipelineModel 进行预测 506
22.5 评估模型的准确率 507
22.6 使用TrainValidation进行训练验证找出最佳模型 508
22.7 使用crossValidation进行交叉验证找出最佳模型 510
22.8 使用GBT Regression 511
22.9 结论 513
附录A 本书范例程序下载与安装说明 514
A.1 下载范例程序 515
A.2 打开本书IPython Notebook范例程序 516
A.3 打开 eclipse PythonProject 范例程序 518
全书共12章,大致分为3个部分,第1部分(第1~7章)讲解Hadoop的原生态组件,包括Hadoop、ZooKeeper、HBase、Hive环境搭建与安装,以及介绍MapReduce、HDFS、ZooKeeper、HBase、Hive原理和Apache版本环境下实战操作。第2部分(第8~11章)讲解Spark的原生态组件,包括Spark Core、Spark SQL、Spark Streaming、DataFrame,以及介绍Scala、Spark API、Spark SQL、Spark Streaming、DataFrame原理和CDH版本环境下实战操作,其中Flume和Kafka属于Apache*开源项目也放在本篇讲解。第3部分(第12章)讲解两个大数据项目,包络网页日志离线项目和实时项目,在CDH版本环境下通过这两个项目将Hadoop和Spark原生态组件进行整合,一步步带领读者学习和实战操作。
本书适合想要快速掌握大数据技术的初学者,也适合作为高等院校和培训机构相关专业师生的教学参考书和实验用书。
第1章 Hadoop概述 1
1.1 Hadoop简介 1
1.2 Hadoop版本和生态系统 3
1.3 MapReduce简介 7
1.4 HDFS简介 8
1.5 Eclipse+Java开发环境搭建 10
1.5.1 Java安装 10
1.5.2 Maven安装 11
1.5.3 Eclipse安装和配置 12
1.5.4 Eclipse创建Maven项目 16
1.5.5 Eclipse其余配置 19
1.6 小结 21
第2章 Hadoop集群搭建 22
2.1 虚拟机简介 22
2.2 虚拟机配置 24
2.3 Linux系统设置 31
2.4 Apache版本Hadoop集群搭建 36
2.5 CDH版本Hadoop集群搭建 44
2.5.1 安装前期准备 44
2.5.2 Cloudera Manager安装 45
2.5.3 CDH安装 46
2.6 小结 55
第3章 Hadoop基础与原理 56
3.1 MapReduce原理介绍 56
3.1.1 MapReduce的框架介绍 56
3.1.2 MapReduce的执行步骤 58
3.2 HDFS原理介绍 59
3.2.1 HDFS是什么 59
3.2.2 HDFS架构介绍 59
3.3 HDFS实战 62
3.3.1 HDFS客户端的操作 62
3.3.2 Java操作HDFS 65
3.4 YARN原理介绍 69
3.5 小结 71
第4章 ZooKeeper实战 72
4.1 ZooKeeper原理介绍 72
4.1.1 ZooKeeper基本概念 72
4.1.2 ZooKeeper工作原理 73
4.1.3 ZooKeeper工作流程 76
4.2 ZooKeeper安装 78
4.3 ZooKeeper实战 80
4.3.1 ZooKeeper客户端的操作 80
4.3.2 Java操作ZooKeeper 81
4.3.3 Scala操作ZooKeeper 85
4.4 小结 87
第5章 MapReduce实战 88
5.1 前期准备 88
5.2 查看YARN上的任务 95
5.3 加载配置文件 95
5.4 MapReduce实战 96
5.5 小结 121
第6章 HBase实战 122
6.1 HBase简介及架构 122
6.2 HBase安装 127
6.3 HBase实战 129
6.3.1 HBase客户端的操作 129
6.3.2 Java操作HBase 132
6.3.3 Scala操作HBase 136
6.4 小结 140
第7章 Hive实战 141
7.1 Hive介绍和架构 141
7.2 Hive数据类型和表结构 143
7.3 Hive分区、桶与倾斜 144
7.4 Hive安装 146
7.5 Hive实战 148
7.5.1 Hive客户端的操作 148
7.5.2 Hive常用命令 154
7.5.3 Java操作Hive 155
7.6 小结 161
第8章 Scala实战 162
8.1 Scala简介与安装 162
8.2 IntelliJ IDEA开发环境搭建 164
8.2.1 IntelliJ IDEA简介 164
8.2.2 IntelliJ IDEA安装 164
8.2.3 软件配置 166
8.3 IntelliJ IDEA建立Maven项目 171
8.4 基础语法 176
8.5 函数 179
8.6 控制语句 181
8.7 函数式编程 184
8.8 模式匹配 189
8.9 类和对象 191
8.10 Scala 异常处理 194
8.11 Trait(特征) 195
8.12 Scala文件I/O 196
8.13 作业 198
8.13.1 九九乘法表 198
8.13.2 冒泡排序 199
8.13.3 设计模式Command 200
8.13.4 集合对称判断 202
8.13.5 综合题 204
8.14 小结 206
第9章 Flume实战 207
9.1 Flume概述 207
9.2 Flume的结构 208
9.3 Flume安装 211
9.4 Flume实战 212
9.5 小结 214
第10章 Kafka实战 215
10.1 Kafka概述 215
10.1.1 简介 215
10.1.2 使用场景 217
10.2 Kafka设计原理 218
10.3 Kafka主要配置 222
10.4 Kafka客户端操作 224
10.5 Java操作Kafka 226
10.5.1 生产者 226
10.5.2 消费者 228
10.6 Flume连接Kafka 229
10.7 小结 233
第11章 Spark实战 234
11.1 Spark概述 234
11.2 Spark基本概念 234
11.3 Spark算子实战及功能描述 238
11.3.1 Value型Transformation算子 238
11.3.2 Key-Value型Transformation算子 242
11.3.3 Actions算子 245
11.4 Spark Streaming实战 248
11.5 Spark SQL和DataFrame实战 253
11.6 小结 266
第12章 大数据网站日志分析项目 267
12.1 项目介绍 267
12.2 网站离线项目 267
12.2.1 业务框架图 267
12.2.2 子服务“趋势分析”详解 268
12.2.3 表格的设计 272
12.2.4 提前准备 274
12.2.5 项目步骤 287
12.3 网站实时项目 297
12.3.1 业务框架图 297
12.3.2 子服务“当前在线”详解 297
12.3.3 表格的设计 302
12.3.4 提前准备 304
12.3.5 项目步骤 327
12.4 小结 337
评分
评分
评分
评分
评分
评分
评分
评分
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有