1UbuntuLinux操作系统的安装31
3.2在Virtual设置Ubuntu虚拟光盘文件33
3.3开始安装Ubuntu35
3.4启动Ubuntu40
3.5安装增强功能41
3.6设置默认输入法45
3.7设置“终端”程序48
3.8设置“终端”程序为白底黑字49
3.9设置共享剪贴板50
3.10设置最佳下载服务器52
3.11结论56
第4章HadoopSingleNodeCluster的安装57
4.1安装JDK58
4.2设置SSH无密码登录61
4.3下载安装Hadoop64
4.4设置Hadoop环境变量67
4.5修改Hadoop配置设置文件69
4.6创建并格式化HDFS目录73
4.7启动Hadoop74
4.8打开HadoopResource-ManagerWeb界面76
4.9NameNodeHDFSWeb界面78
4.10结论79
第5章HadoopMultiNodeCluster的安装80
5.1把SingleNodeCluster复制到data183
5.2设置VirtualBox网卡84
5.3设置data1服务器87
5.4复制data1服务器到data2、data3、master94
5.5设置data2服务器97
5.6设置data3服务器100
5.7设置master服务器102
5.8master连接到data1、data2、data3创建HDFS目录107
5.9创建并格式化NameNodeHDFS目录110
5.10启动HadoopMultiNodeCluster112
5.11打开HadoopResourceManagerWeb界面114
5.12打开NameNodeWeb界面115
5.13停止HadoopMultiNodeCluster116
5.14结论116
第6章HadoopHDFS命令117
6.1启动HadoopMulti-NodeCluster118
6.2创建与查看HDFS目录120
6.3从本地计算机复制文件到HDFS122
6.4将HDFS上的文件复制到本地计算机127
6.5复制与删除HDFS文件129
6.6在HadoopHDFSWeb用户界面浏览HDFS131
6.7结论134
第7章HadoopMapReduce135
7.1简单介绍WordCount.java136
7.2编辑WordCount.java137
7.3编译WordCount.java141
7.4创建测试文本文件143
7.5运行WordCount.java145
7.6查看运行结果146
7.7结论147
第8章PythonSpark的介绍与安装148
8.1Scala的介绍与安装150
8.2安装Spark153
8.3启动pyspark交互式界面156
8.4设置pyspark显示信息157
8.5创建测试用的文本文件159
8.6本地运行pyspark程序161
8.7在HadoopYARN运行pyspark163
8.8构建SparkStandaloneCluster运行环境165
8.9在SparkStandalone运行pyspark171
8.10SparkWebUI界面173
8.11结论175
第9章在IPythonNotebook运行PythonSpark程序176
9.1安装Anaconda177
9.2在IPythonNotebook使用Spark180
9.3打开IPythonNotebook笔记本184
9.4插入程序单元格185
9.5加入注释与设置程序代码说明标题186
9.6关闭IPythonNotebook188
9.7使用IPythonNotebook在HadoopYARN-client模式运行189
9.8使用IPythonNotebook在SparkStandAlone模式运行192
9.9整理在不同的模式运行IPythonNotebook的命令194
9.9.1在Local启动IPythonNotebook195
9.9.2在HadoopYARN-client模式启动IPythonNotebook195
9.9.3在SparkStandAlone模式启动IPythonNotebook195
9.10结论196
第10章PythonSparkRDD197
10.1RDD的特性198
10.2开启IPythonNotebook199
10.3基本RDD“转换”运算201
10.4多个RDD“转换”运算206
10.5基本“动作”运算208
10.6RDDKey-Value基本“转换”运算209
10.7多个RDDKey-Value“转换”运算212
10.8Key-Value“动作”运算215
10.9Broadcast广播变量217
10.10accumulator累加器220
10.11RDDPersistence持久化221
10.12使用Spark创建WordCount223
10.13SparkWordCount详细解说226
10.14结论228
第11章PythonSpark的集成开发环境229
11.1下载与安装eclipseScalaIDE232
11.2安装PyDev235
11.3设置字符串替代变量240
11.4PyDev设置Python链接库243
11.5PyDev设置anaconda2链接库路径245
11.6PyDev设置SparkPython链接库247
11.7PyDev设置环境变量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在HadoopYARN-client上运行WordCount程序261
11.14在SparkStandaloneCluster上运行WordCount程序264
11.15在eclipse外部工具运行PythonSpark程序267
11.16在eclipse运行spark-submitYARN-client273
11.17在eclipse运行spark-submitStandalone277
11.18结论280
第12章PythonSpark创建推荐引擎281
12.1推荐算法介绍282
12.2“推荐引擎”大数据分析使用场景282
12.3ALS推荐算法的介绍283
12.4如何搜索数据285
12.5启动IPythonNotebook289
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.py307
12.14结论310
第13章PythonSparkMLlib决策树二元分类311
13.1决策树介绍312
13.2“StumbleUponEvergreen”大数据问题313
13.2.1Kaggle网站介绍313
13.2.2“StumbleUponEvergreen”大数据问题场景分析313
13.3决策树二元分类机器学习314
13.4如何搜集数据315
13.4.1StumbleUpon数据内容315
13.4.2下载StumbleUpon数据316
13.4.3用LibreOfficeCalc电子表格查看train.tsv319
13.4.4复制到项目目录322
13.5使用IPythonNotebook示范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计算AUC339
13.10模型的训练参数如何影响准确率341
13.10.1建立trainEvaluateModel341
13.10.2评估impurity参数343
13.10.3训练评估的结果以图表显示344
13.10.4编写evalParameter347
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.py355
13.15.1执行参数评估355
13.15.2所有参数训练评估找出最好的参数组合355
13.15.3运行RunDecisionTreeBinary.py不要输入参数357
13.16查看DecisionTree的分类规则358
13.17结论360
第14章PythonSparkMLlib逻辑回归二元分类361
14.1逻辑回归分析介绍362
14.2RunLogisticRegressionWithSGDBinary.py程序说明363
14.3运行RunLogisticRegressionWithSGDBinary.py进行参数评估367
14.4找出最佳参数组合370
14.5修改程序使用参数进行预测370
14.6结论372
第15章PythonSparkMLlib支持向量机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章PythonSparkMLlib朴素贝叶斯二元分类382
16.1朴素贝叶斯分析原理的介绍383
16.2RunNaiveBayesBinary.py程序说明384
16.3运行NaiveBayes.py进行参数评估386
16.4运行训练评估并找出最好的参数组合387
16.5修改RunNaiveBayesBinary.py直接使用最佳参数进行预测388
16.6结论390
第17章PythonSparkMLlib决策树多元分类391
17.1“森林覆盖植被”大数据问题分析场景392
17.2UCICovertype数据集介绍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章PythonSparkMLlib决策树回归分析407
18.1BikeSharing大数据问题分析408
18.2BikeSharing数据集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章PythonSparkSQL、DataFrame、RDD数据统计与可视化425
19.1RDD、DataFrame、SparkSQL比较426
19.2创建RDD、DataFrame与SparkSQL427
19.2.1在local模式运行IPythonNotebook427
19.2.2创建RDD427
19.2.3创建DataFrame428
19.2.4设置IPythonNotebook字体430
19.2.5为DataFrame创建别名431
19.2.6开始使用SparkSQL431
19.3SELECT显示部分字段434
19.3.1使用RDD选取显示部分字段434
19.3.2使用DataFrames选取显示字段434
19.3.3使用SparkSQL选取显示字段435
19.4增加计算字段436
19.4.1使用RDD增加计算字段436
19.4.2使用DataFrames增加计算字段436
19.4.3使用SparkSQL增加计算字段437
19.5筛选数据438
19.5.1使用RDD筛选数据438
19.5.2使用DataFrames筛选数据438
19.5.3使用SparkSQL筛选数据439
19.6按单个字段给数据排序439
19.6.1RDD按单个字段给数据排序439
19.6.2使用SparkSQL排序440
19.6.3使用DataFrames按升序给数据排序441
19.6.4使用DataFrames按降序给数据排序442
19.7按多个字段给数据排序442
19.7.1RDD按多个字段给数据排序442
19.7.2SparkSQL按多个字段给数据排序443
19.7.3DataFrames按多个字段给数据排序443
19.8显示不重复的数据444
19.8.1RDD显示不重复的数据444
19.8.2SparkSQL显示不重复的数据445
19.8.3Dataframes显示不重复的数据445
19.9分组统计数据446
19.9.1RDD分组统计数据446
19.9.2SparkSQL分组统计数据447
19.9.3Dataframes分组统计数据448
19.10Join联接数据450
19.10.1创建ZipCode450
19.10.2创建zipcode_tab452
19.10.3SparkSQL联接zipcode_table数据表454
19.10.4DataFrameuser_df联接zipcode_df455
19.11使用PandasDataFrames绘图457
19.11.1按照不同的州统计并以直方图显示457
19.11.2按照不同的职业统计人数并以圆饼图显示459
19.12结论461
第20章SparkMLPipeline机器学习流程二元分类462
20.1数据准备464
20.1.1在local模式执行IPythonNotebook464
20.1.2编写DataFramesUDF用户自定义函数466
20.1.3将数据分成train_df与test_df468
20.2机器学习pipeline流程的组件468
20.2.1StringIndexer468
20.2.2OneHotEncoder470
20.2.3VectorAssembler472
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章SparkMLPipeline机器学习流程多元分类486
21.1数据准备487
21.1.1读取文本文件488
21.1.2创建DataFrame489
21.1.3转换为double490
21.2建立机器学习pipeline流程492
21.3使用dt_pipeline进行数据处理与训练493
21.4使用pipelineModel进行预测493
21.5评估模型的准确率495
21.4使用TrainValidation进行训练验证找出最佳模型496
21.7结论498
第22章SparkMLPipeline机器学习流程回归分析499
22.1数据准备501
22.1.1在local模式执行IPythonNotebook501
22.1.2将数据分成train_df与test_df504
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使用GBTRegression511
22.9结论513
附录A本书范例程序下载与安装说明514
A.1下载范例程序515
A.2打开本书IPythonNotebook范例程序516
A.3打开eclipsePythonProject范例程序518