Hadoop + Spark大数据巨量分析与机器学习整合开发实战
大数据技术为金融财务、营销分析、商业趋势预测带来全新变革,详实的安装设置与程序解析,降低学习门槛,可单机运行/实机/虚拟机建立多台运算集群。
- 定价:¥79.00
- 校园优惠价:¥63.20 (80折) (马上了解)
- 评分:




(已有0条评价)
- 促销活动:
- 此商品暂时缺货(可留下联系方式,到货将第一时间通知您)
-
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由客服人员为您协调调货!
>> 查看详细说明
信息提示
关闭
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由我们的客服人员为您协调调货!
- 团购订单标准如下:
- 单品满30册可选择团购服务。
- 提交团购订单后,服务人员会主动和您联系,并根据您的会员等级、购买数量、金额、时间、配送要求等情况和您协商,以促成最终的成交。
- 有关团体购书的任何问题请随时联系:(010)63970506
基本信息
- 作者:
林大贵
- 出版社:清华大学出版社
- ISBN:9787302453758
- 上架时间:2016-11-11
- 出版日期:2017 年1月
- 开本:16开
- 版次:1-1
所属分类:
计算机 > 数据库 > 综合
编辑推荐
大数据技术为金融财务、营销分析、商业趋势预测带来全新变革,详实的安装设置与程序解析,降低学习门槛,可单机运行/实机/虚拟机建立多台运算集群。提供大量实际案例详解与程序代码范例。
内容简介
书籍 计算机书籍
本书从浅显易懂的“大数据和机器学习”原理介绍和说明入手,讲述大数据和机器学习的基本概念,如:分类、分析、训练、建模、预测、机器学习(推荐引擎)、机器学习(二元分类)、机器学习(多元分类)、机器学习(回归分析)和数据可视化应用。为降低读者学习大数据技术的门槛,书中提供了丰富的上机实践操作和范例程序详解,展示了如何在单台Windows系统上通过Virtual Box虚拟机安装多台Linux虚拟机,如何建立Hadoop集群,再建立Spark开发环境。书中介绍搭建的上机实践平台并不限制于单台实体计算机。对于有条件的公司和学校,参照书中介绍的搭建过程,同样可以将实践平台搭建在多台实体计算机上,以便更加接近于大数据和机器学习真实的运行环境。
本书非常适合于学习大数据基础知识的初学者阅读,更适合正在学习大数据理论和技术的人员作为上机实践用的教材。
作译者
作者:林大贵
林大贵,作者从事IT产业多年,包括系统设计、网站开发等诸多领域,具备丰富实战开发经验,多版多部具有影响力的作品。
目录
第1章 大数据与机器学习 1
1.1 大数据定义 2
1.2 Hadoop简介 2
1.3 Hadoop HDFS分布式文件系统 3
1.4 Hadoop MapReduce的介绍 5
1.5 Spark的介绍 6
1.6 机器学习的介绍 8
第2章 VirtualBox虚拟机软件的安装 11
2.1 VirtualBox的下载和安装 12
2.2 设置VirtualBox语言版本 16
2.3 设置VirtualBox存储文件夹 17
2.4 在VirtualBox创建虚拟机 18
第3章 Ubuntu Linux操作系统的安装 23
3.1 下载安装Ubuntu的光盘文件 24
3.2 在Virtual设置Ubuntu虚拟光盘文件 26
3.3 开始安装Ubuntu 28
3.4 启动Ubuntu 33
3.5 安装增强功能 34
3.6 设置默认输入法 38
3.7 设置“终端”程序 40
3.8 设置“终端”程序为白底黑字 42
3.9 设置共享剪贴板 43
第4章 Hadoop Single Node Cluster的安装 46
4.1 安装JDK 47
4.2 设置SSH无密码登录 50
4.3 下载安装Hadoop 53
4.4 设置Hadoop环境变量 56
4.5 修改Hadoop配置设置文件 58
4.6 创建并格式化HDFS目录 62
4.7 启动Hadoop 63
4.8 打开Hadoop ResourceManager Web界面 66
4.9 NameNode HDFS Web界面 67
第5章 Hadoop Multi Node Cluster的安装 69
5.1 把Single Node Cluster复制到data1 71
5.2 设置VirtualBox网卡 73
5.3 设置data1服务器 76
5.4 复制data1服务器到data2、data3、master 84
5.5 设置data2、data3服务器 87
5.6 设置master服务器 91
5.7 master连接到data1、data2、data3创建HDFS目录 94
5.8 创建并格式化NameNode HDFS目录 98
5.9 启动Hadoop Multi Node Cluster 99
5.10 打开Hadoop ResourceManager Web界面 102
5.11 打开NameNode Web界面 103
第6章 Hadoop HDFS命令 104
6.1 启动Hadoop Multi-Node Cluster 105
6.2 创建与查看HDFS目录 107
6.3 从本地计算机复制文件到HDFS 109
6.4 将HDFS上的文件复制到本地计算机 114
6.5 复制与删除HDFS文件 116
6.6 在Hadoop HDFS Web用户界面浏览HDFS 118
第7章 Hadoop MapReduce 122
7.1 介绍wordCount.Java 123
7.2 编辑wordCount.Java 124
7.3 编译wordCount.Java 127
7.4 创建测试文本文件 129
7.5 运行wordCount.Java 130
7.6 查看运行结果 131
7.7 Hadoop MapReduce的缺点 132
第8章 Spark的安装与介绍 133
8.1 Spark的Cluster模式架构图 134
8.2 Scala的介绍与安装 135
8.3 安装Spark 138
8.4 启动spark-shell交互界面 141
8.5 设置spark-shell显示信息 142
8.6 启动Hadoop 144
8.7 本地运行spark-shell程序 145
8.8 在Hadoop YARN运行spark-shell 147
8.9 构建Spark Standalone Cluster执行环境 149
8.10 在Spark Standalone运行spark-shell 155
第9章 Spark RDD 159
9.1 RDD的特性 160
9.2 基本RDD“转换”运算 161
9.3 多个RDD“转换”运算 167
9.4 基本“动作”运算 169
9.5 RDD Key-Value 基本“转换”运算 171
9.6 多个RDD Key-Value“转换”运算 175
9.7 Key-Value“动作”运算 178
9.8 Broadcast广播变量 181
9.9 accumulator累加器 184
9.10 RDD Persistence持久化 186
9.11 使用Spark创建WordCount 188
9.12 Spark WordCount详细解说 191
第10章 Spark的集成开发环境 195
10.1 下载与安装eclipse Scala IDE 197
10.2 下载项目所需要的Library 201
10.3 启动eclipse 205
10.4 创建新的Spark项目 206
10.5 设置项目链接库 210
10.6 新建scala程序 211
10.7 创建WordCount测试文本文件 213
10.8 创建WordCount.scala 213
10.9 编译WordCount.scala程序 215
10.10 运行WordCount.scala程序 217
10.11 导出jar文件 220
10.12 spark-submit的详细介绍 223
10.13 在本地local模式运行WordCount程序 224
10.14 在Hadoop yarn-client运行WordCount程序 226
10.15 在Spark Standalone Cluster上运行WordCount程序 230
10.16 本书范例程序的安装说明 231
第11章 创建推荐引擎 236
11.1 推荐算法介绍 237
11.2 “推荐引擎”大数据分析使用场景 237
11.3 ALS推荐算法的介绍 238
11.4 ml-100k推荐数据的下载与介绍 240
11.5 使用spark-shell导入ml-100k数据 242
11.6 查看导入的数据 244
11.7 使用ALS.train进行训练 247
11.8 使用模型进行推荐 250
11.9 显示推荐的电影名称 252
11.10 创建Recommend项目 255
11.11 Recommend.scala程序代码 257
11.12 创建PrepareData()数据准备 259
11.13 recommend()推荐程序代码 261
11.14 运行Recommend.scala 263
11.15 创建AlsEvaluation.scala调校推荐引擎参数 266
11.16 创建PrepareData()数据准备 269
11.17 进行训练评估 270
11.18 运行AlsEvaluation 279
11.19 修改Recommend.scala为最佳参数组合 281
第12章 StumbleUpon数据集 282
12.1 StumbleUpon数据集简介 283
12.2 下载StumbleUpon数据 285
12.3 用LibreOffice Calc 电子表格查看train.tsv 288
12.4 二元分类算法 291
第13章 决策树二元分类 292
13.1 决策树的介绍 293
13.2 创建Classification项目 294
13.3 开始输入RunDecisionTreeBinary.scala程序 296
13.4 数据准备阶段 298
13.5 训练评估阶段 303
13.6 预测阶段 308
13.7 运行RunDecisionTreeBinary.scala 311
13.6 修改RunDecisionTreeBinary调校训练参数 313
13.7 运行RunDecisionTreeBinary进行参数调校 320
13.8 运行RunDecisionTreeBinary不进行参数调校 323
第14章 逻辑回归二元分类 326
14.1 逻辑回归分析介绍 327
14.2 RunLogisticRegression WithSGDBinary.scala程序说明 328
14.3 运行RunLogisticRegression WithSGDBinary.scala进行参数调校 331
14.4 运行RunLogisticRegression WithSGDBinary.scala不进行参数调校 335
第15章 支持向量机SVM二元分类 337
15.1 支持向量机SVM算法的基本概念 338
15.2 RunSVMWithSGDBinary.scala 程序说明 338
15.3 运行SVMWithSGD.scala进行参数调校 341
15.4 运行SVMWithSGD.scala不进行参数调校 344
第16章 朴素贝叶斯二元分类 346
16.1 朴素贝叶斯分析原理的介绍 347
16.2 RunNaiveBayesBinary.scala程序说明 348
16.3 运行NaiveBayes.scala进行参数调校 351
16.4 运行NaiveBayes.scala不进行参数调校 353
第17章 决策树多元分类 355
17.1 “森林覆盖植被”大数据问题分析场景 356
17.2 UCI Covertype数据集介绍 357
17.3 下载与查看数据 359
17.4 创建RunDecisionTreeMulti.scala 361
17.5 修改RunDecisionTreeMulti.scala程序 362
17.6 运行RunDecisionTreeMulti.scala进行参数调校 367
17.7 运行RunDecisionTreeMulti.scala不进行参数调校 371
第18章 决策树回归分析 373
18.1 Bike Sharing大数据问题分析 374
18.2 Bike Sharing数据集 375
18.3 下载与查看数据 375
18.4 创建RunDecisionTreeRegression.scala 378
18.5 修改RunDecisionTreeRegression.scala 380
18.6 运行RunDecisionTreeRegression. scala进行参数调校 389
18.7 运行RunDecisionTreeRegression. scala不进行参数调校 392
第19章 使用Apache Zeppelin 数据可视化 394
19.1 Apache Zeppelin简介 395
19.2 安装Apache Zeppelin 395
19.3 启动Apache Zeppelin 399
19.4 创建新的Notebook 402
19.5 使用Zeppelin运行Shell 命令 403
19.6 创建临时表UserTable 406
19.7 使用Zeppelin运行年龄统计Spark SQL 407
19.8 使用Zeppelin运行性别统计Spark SQL 409
19.9 按照职业统计 410
19.10 Spark SQL加入文本框输入参数 412
19.11 加入选项参数 414
19.12 同时显示多个统计字段 416
19.13 设置工具栏 419
19.14 设置段落标题 420
19.15 设置Paragraph段落的宽度 422
19.16 设置显示模式 423
前言
序
大数据的影响力正深入到各个领域和行业中。特别在商业、经济以及其他领域,将大量数据进行分析后,便可得到许多数据的关联性。这些关联性可用于预测商业趋势、营销研究、金融财务、疾病研究、打击犯罪等。大数据对每一个企业的决策方式将发生变革——决策方式将基于数据和分析的结果,而不是依靠经验和直觉。
信息科技(Information Technology,IT)浪潮的第一波是大型计算机,第二波是个人计算机(PC机),第三波是网络,第四波是社交媒体,第五波则是“大数据”。每一波的信息科技浪潮都会带来工作与生活方式的改变,创造大量商机、新的产业、大量的工作机会。例如,在网络时代,创造了淘宝、百度、Google(谷歌)、Amazon(亚马逊)等大公司,以及无数.com公司。
每一波浪潮开始时,相关人才的需求激增,从而造成相关人才的紧缺。因此对个人而言,如果能在浪潮兴起时就投入,往往成果很丰硕,并且有机会占有重要职位。例如,网络刚兴起时,每个公司都需要建立网站,但是这方面的人才当时相对不够,能掌握编写网页相关应用程序设计语言的工程师就能够获得高薪。之后,投入的人越来越多,这方面的工程师就没有当初那么吃香了。
之前的科技浪潮,也许你没有机会躬逢其盛,或是没有机会在浪潮初期进入。而目前大数据的浪潮方兴未艾,正是进入的好时机。根据IBM公司调查预估,大数据在2014年的市场规模为71亿美元,2015年则达到了180亿美元,并将以每年增长20%的速度持续成长。机会是给有准备的人的,学会了大数据分析的相关技能,让你有机会获得更好的薪资与职业发展前景。根据美国调查机构Robert Half Technology 2016年趋势报告,在美国,大数据工程师的薪水年增长8.9%,年薪大约13万至18万美金(约合人民币85万元~120万元)。因为人才短缺,企业不惜重金挖角。(搜索Robert Half Technology 2016 就可以下载此调查报告。)
本书的主题是Hadoop+Spark大数据分析与机器学习。众所周知,Hadoop是运用最多的大数据平台,然而Spark异军突起,与Hadoop兼容而且运行速度更快,各大公司也开始加入Spark的开发。例如,IBM公司加入Apache Spark社区,打算培育百万名数据科学家。谷歌(Google)公司与微软公司也分别应用了Spark的功能来构建服务、发展大数据分析云与机器学习平台。这些大公司的加入,也意味着未来更多公司会采用Hadoop+Spark进行大数据的数据分析。
然而,目前市面上虽然很多大数据的书,但是多半偏向理论或应用层面的介绍,网络上的信息虽然很多,但是也很杂乱。本书希望能够用浅显易懂的原理介绍和说明,再加上上机实践操作、范例程序,来降低大数据技术的学习门槛,带领读者进入大数据与机器学习的领域。当然整个大数据的生态系非常庞大,需要学习的东西太多。希望读者通过本书的学习,有了基本的概念后,能比较容易踏入这个领域,以便继续深入与研究其他大数据的相关技术。
林大贵