编辑推荐
适读人群:正在学习大数据理论和技术的人员作为上机实践用的教材
1.Hadoop集群安装与分散式运算和存储介绍
通过实机操作,学会如何安装VirtualBox、UbuntuLinux、Hadoop单机与多台机器集群安装,并学会使用HDFS分散式存储与MapReduce分散式运算。
2.PythonSpark2.0安装
通过实机操作,学会安装Spark2.0,并在本机与多台机器集群执行PythonSpark应用程序。同时介绍如何在iPythonNotebook互动界面执行PythonSpark指令。安装eclipse整合开发界面,开发PythonSpark应用程序,大幅提升程序开发生产力。
3.PythonSparkSQL、DataFrame数据统计与数据可视化
SparkSQL即使非程序设计人员,只需要懂得SQL语法,就可以使用。DataFrameAPI可使用类SQL的方法,如select()、groupby()、count(),很容易进行统计,大幅降低大数据分析的学习门槛。SparkDataFrame可转换为PandasDataFrame,运用Python丰富的数据可视化组件(例如matplotlib)进行数据可视化。
4.PythonSparkMLlib机器学习
以大数据分析实际案例MoiveLens、StumbleUpon、CovType、BikeSharing介绍如何使用PythonSpark运用机器学习演算法进行数据处理、训练、建立模型、训练验证找出*佳模型、预测结果。
5.PythonSparkMLPipeline机器学习流程
以大数据实际案例示范使用PythonSparkMLPipeline机器学习流程进行二元分类、多元分类、回归分析,将机器学习的每一个步骤建立成Pipeline流程:数据处理→运算法训练数据→建立模型→找出*佳模型→预测结果。SparkMLPipeline通过内建数据处理模块与机器学习运算法,减轻数据分析师在程序设计上的负担。
内容简介
《Python+Spark2.0+Hadoop机器学习与大数据实战》从浅显易懂的“大数据和机器学习”原理说明入手,讲述大数据和机器学习的基本概念,如分类、分析、训练、建模、预测、机器学习(推荐引擎)、机器学习(二元分类)、机器学习(多元分类)、机器学习(回归分析)和数据可视化应用等。书中不仅加入了新近的大数据技术,还丰富了“机器学习”内容。
为降低读者学习大数据技术的门槛,书中提供了丰富的上机实践操作和范例程序详解,展示了如何在单机Windows系统上通过VirtualBox虚拟机安装多机Linux虚拟机,如何建立Hadoop集群,再建立Spark开发环境。《Python+Spark2.0+Hadoop机器学习与大数据实战》中介绍搭建的上机实践平台并不限制于单台实体计算机。对于有条件的公司和学校,参照书中介绍的搭建过程,同样可以实现将自己的平台搭建在多台实体计算机上,以便更加接近于大数据和机器学习真实的运行环境。
《Python+Spark2.0+Hadoop机器学习与大数据实战》非常适合于学习大数据基础知识的初学者阅读,更适合正在学习大数据理论和技术的人员作为上机实践用的教材。
作者简介
林大贵,从事IT行业多年,在系统设计、网站开发、数字营销、商业智慧、大数据、机器学习等领域具有丰富的实战经验。
目录
目录
第1章PythonSpark机器学习与Hadoop大数据1
1.1机器学习的介绍2
1.2Spark的介绍5
1.3Spark数据处理RDD、DataFrame、SparkSQL7
1.4使用Python开发Spark机器学习与大数据应用8
1.5PythonSpark机器学习9
1.6SparkMLPipeline机器学习流程介绍10
1.7Spark2.0的介绍12
1.8大数据定义13
1.9Hadoop简介14
1.10HadoopHDFS分布式文件系统14
1.11HadoopMapReduce的介绍17
1.12结论18
第2章VirtualBox虚拟机软件的安装19
2.1VirtualBox的下载和安装20
2.2设置VirtualBox存储文件夹23
2.3在VirtualBox创建虚拟机25
2.4结论29
第3章UbuntuLinux操作系统的安装30
3.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
前言/序言
前言
机器学习是近二十来年兴起的多领域学科,机器学习算法可从数据中建立模型,并利用模型对未知数据进行预测。机器学习技术不断进步,应用相当广泛,例如推荐引擎、定向广告、需求预测、垃圾邮件过滤、医学诊断、自然语言处理、搜索引擎、诈骗侦测、证券分析、视觉辨识、语音识别、手写识别等。
近年来Google、Facebook、Microsoft、IBM等大公司全力投入机器学习研究与应用。以Google为例,Google已经将机器学习运用到垃圾邮件判断、自动回复、照片分类与搜索、翻译、语音识别等功能上。同时,各大主流Hadoop发行版公司加强了对机器学习的投入,比如Cloudera对sparkml的完整支持、星环科技基于Spark自主研发的机器学习产品Discover。在不知不觉中,机器学习已经让日常生活更为便利。
为什么近年来机器学习变得如此热门,各大公司都争相投入?因为机器学习需要大量数据进行训练。大数据的兴起带来了大量的数据以及可存储大量数据的分布式存储技术,例如HadoopHDFS、NoSQL……还有分布式计算可进行大量运算,例如Spark基于内存的分布式计算框架/架构,可以大幅提升性能。
《Python+Spark 2.0+Hadoop机器学习与大数据实战》的主题是Python+Spark+Hadoop机器学习与大数据分析。使用Python开发Spark应用程序,具有多重优势:不仅可以享有Python语言特性所带来的好处,即程序代码简明、较易学习、高生产力等,再加上Spark基于内存的分布式计算框架/架构,还可以大幅提升性能,非常适合需要多次重复运算的机器学习算法,并且Spark还可以存取HadoopHDFS分布式存储的大量数据。
《Python+Spark 2.0+Hadoop机器学习与大数据实战》希望能够用浅显易懂的原理介绍和说明以及上机实践操作、范例程序来降低机器学习与大数据技术的学习门槛,带领读者进入机器学习和大数据的领域。当然,整个机器学习与大数据的生态系统非常庞大,需要学习的东西很多。读者通过《Python+Spark 2.0+Hadoop机器学习与大数据实战》学习,对机器学习和数据有了基本的概念后就比较容易踏入这个领域了,以便深入研究其他的相关技术。
林大贵