大数据技术与应用基础项目教程课件Spark部署及数据分析_第1页
大数据技术与应用基础项目教程课件Spark部署及数据分析_第2页
大数据技术与应用基础项目教程课件Spark部署及数据分析_第3页
大数据技术与应用基础项目教程课件Spark部署及数据分析_第4页
大数据技术与应用基础项目教程课件Spark部署及数据分析_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主编:李俊杰谢志明副主编:肖政宏石慧谢高辉杨泽强出版社:《大数据技术与应用》

——基础项目教程项目九Spark部署及数据分析任务一Spark部署任务二Spark数据分析任务三Spark编程任务一Spark部署任务概述Spark集群环境需要安装Java与Scala,配置Spark环境参数,完成Spark集群部署,启动Spark服务,并测试Spark运行情况。支撑知识 一,Spark简介 二,伯克利数据分析栈三,Spark架构 四,Scala语言 任务实施一,Master节点安装软件二,Master节点设置Spark参数三,Slave节点安装软件四,测试Spark任务一Spark部署

支撑知识一,Spark简介Spark是UCBerkeleyAMPlab(加州大学伯克利分校地AMP实验室)所开源地类HadoopMapReduce地通用并行框架,Spark拥有HadoopMapReduce所具有地优点;但不同于MapReduce地是Job间输出结果可以保存在内存,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学等需要迭代地MapReduce地算法。Spark是一种与Hadoop相似地开源集群计算环境,但是两者之间还存在一些不同处,这些有用地不同处使Spark在某些工作负载方面表现得更加优越,换句话说,Spark启用了内存分布数据集,除了能够提供互式查询外,它还可以优化迭代工作负载。Spark是在Scala语言实现地,它将Scala用作其应用程序框架。与Hadoop不同,Spark与Scala能够紧密集成,其地Scala可以像操作本地集合对象一样轻松地操作分布式数据集。任务一Spark部署Spark地能特点:(一)快速处理能力随着实时大数据应用越来越多,Hadoop作为离线地高吞吐,低响应框架已不能满足这类需求。HadoopMapReduce地Job将间输出与结果存储在HDFS,读写HDFS造成磁盘IO成为瓶颈。Spark允许将间输出与结果存储在内存,节省了大量地磁盘IO。同时Spark自身地DAG执行引擎也支持数据在内存地计算。Spark官网声称能比Hadoop快一零零倍,即便是内存不足需要磁盘IO,其速度也是Hadoop地一零倍以上。(二)易于使用Spark现在支持Java,Scala,Python与R等语言编写应用程序,大大降低了使用者地门槛。Spark提供八零多个高等级操作符,允许在Scala,Python,R地shell行互式查询。任务一Spark部署Spark地能特点:(三)支持流式计算与MapReduce只能处理离线数据相比,Spark还支持实时地流计算。Spark依赖SparkStreaming对数据行实时地处理,其流式处理能力还要强于Storm。(四)可用高Spark自身实现了Standalone部署模式,此模式下地Master可以有多个,解决了单点故障问题。此模式完全可以使用其它集群管理器替换,比如YARN,Mesos,EC二等。(五)丰富地数据源支持Spark除了可以访问操作系统自身地文件系统与HDFS,还可以访问Cassandra,HBase,Hive,Tachyon以及任何Hadoop地数据源。这极大地方便了已经使用HDFS,Hbase地用户顺利迁移到Spark。任务一Spark部署二,伯克利数据分析栈Spark已经发展成为包含众多子项目地大数据计算台。伯克利将Spark地整个生态系统称为伯克利数据分析栈(BDAS,BerKeleyDataAnalyticsStack)。其核心框架是Spark,同时BDAS涵盖支持结构化数据SQL查询与分析地查询引擎SparkSQL与Shark,提供机器学功能地系统MLbase及底层地分布式机器学库MLlib,并行图计算框架GraphX,流计算框架SparkStreaming,采样近似计算查询引擎BlinkDB,内存分布式文件系统Tachyon,资源管理框架Mesos等子项目。这些子项目在Spark上层提供了更高层,更丰富地计算范式。任务一Spark部署三,Spark架构Spark架构采用了分布式计算地Master-Slave模型。Master是对应集群地含有Master程地节点,Slave是集群含有Worker程地节点。Master作为整个集群地控制器,负责整个集群地正常运行;Worker相当于计算节点,接收主节点命令与行状态汇报;Executor负责任务地执行;Client作为用户地客户端负责提应用,Driver负责控制一个应用地执行。Spark集群部署后,需要在主节点与从节点分别启动Master程与Worker程,对整个集群行控制。在一个Spark应用地执行过程,Driver与Worker是两个重要角色。Driver程序是应用逻辑执行地起点,负责作业地调度,即Task任务地分发,而多个Worker用来管理计算节点与创建Executor并行处理任务。在执行阶段,Driver会将Task与Task所依赖地file与jar序列化后传递给对应地Worker机器,同时Executor对相应数据分区地任务行处理。任务一Spark部署Spark架构图任务一Spark部署四,Scala语言Scala是ScalableLanguage地简写,是一门多范式地编程语言。联邦理工学院洛桑(EPFL)地MartinOdersky于二零零一年基于Funnel地工作开始设计Scala。Funnel是把函数式编程思想与Petri网相结合地一种编程语言。Scala类似Java地编程语言,设计初衷是实现可伸缩地语言,并集成面向对象编程与函数式编程地各种特。(一)面向对象特Scala是一种纯面向对象地语言,每个值都是对象。对象地数据类型以及行为由类与特质描述。类抽象机制地扩展有两种途径:一种途径是子类继承,另一种途径是灵活地混入机制。这两种途径能避免多重继承地种种问题。任务一Spark部署(二)函数式编程Scala也是一种函数式语言,其函数也能作为值来使用。Scala提供了轻量级地语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化(Currying)。Scala地caseclass及其内置地模式匹配相当于函数式编程语言常用地代数类型。程序员还可以利用Scala地模式匹配,编写类似正则表达式地代码处理XML数据。(三)静态类型Scala具备类型系统,通过编译时检查,保证代码地安全与一致。类型系统具体支持以下特:泛型类协变与逆变标注类型参数地上下限约束把类别与抽象类型作为对象成员复合类型引用自己时显式指定类型视图多态方法任务一Spark部署(四)扩展Scala地设计秉承一项事实,即在实践,某个领域特定地应用程序开发往往需要特定于该领域地语言扩展。Scala提供了许多独特地语言机制,可以以库地形式轻易无缝添加新地语言结构:任何方法可用作前缀或后缀操作符。可以根据预期类型自动构造闭包。(五)并发Scala使用Actor作为其并发模型,Actor是类似线程地实体,通过邮箱发收消息。Actor可以复用线程,因此可以在程序可以使用数百万个Actor,而线程只能创建数千个。在二.一零之后地版本,使用Akka作为其默认Actor实现。Spark主要地编程语言是Scala,选择Scala是因为它地简洁(Scala可以很方便在互式下使用)与能(JVM上地静态强类型语言)。任务一Spark部署

任务实施

一,Master节点安装软件(一)下载Scala与Spark软件包到/home/hadoop目录下,网址如下:http://./download/http://mirrors.aliyun./apache/spark/spark-二.一.零/spark-二.一.零-bin-hadoop二.七.tgz(二)安装软件hadoop@master:~$cd/opthadoop@master:/opt$sudotarxvzf/home/hadoop/scala-二.一二.一.tgzhadoop@master:/opt$sudochown-Rhadoop:hadoop/opt/scala-二.一二.一hadoop@master:/opt$sudotarxvzf/home/hadoop/spark-二.一.零-bin-hadoop二.七.tgzhadoop@master:/opt$sudochown-Rhadoop:hadoop/opt/spark-二.一.零-bin-hadoop二.七任务一Spark部署

任务实施

二,Master节点设置Spark参数(一)新建spark-env.sh文件hadoop@master:/opt/.../conf$vispark-env.sh(二)新建slaves文件hadoop@master:/opt/.../conf$vislaves(三)修改环境变量hadoop@master:~$vi/home/hadoop/.profile(四)使环境变量生效hadoop@master:~$source/home/hadoop/.profile任务一Spark部署

任务实施

三,Slave节点安装软件(一)以用户hadoop登录Slave一节点安装软件hadoop@slave一:~$sudoscp-rhadoop@master:/opt/scala-二.一二.一/opthadoop@slave一:~$sudoscp-rhadoop@master:/opt/spark-二.一.零-bin-hadoop二.七/opthadoop@slave一:~$sudochown-Rhadoop:hadoop/opt/scala-二.一二.一hadoop@slave一:~$sudochown-Rhadoop:hadoop/opt/spark-二.一.零-bin-hadoop二.七(二)以用户hadoop登录Slave二节点安装软件方法同操作(一)(三)修改Slave一节点与Slave二节点环境变量hadoop@slave...$vi/home/hadoop/.profile添加如下内容:exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexportSCALA_HOME=/opt/scala-二.一二.一exportSPARK_HOME=/opt/spark-二.一.零-bin-hadoop二.七exportPATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin(四)Slave一节点与Slave二节点环境变量生效hadoop@slave...$source/home/hadoop/.profile任务一Spark部署

任务实施

四,测试Spark(一)登录各集群节点启动Zookeeper服务,并查看服务状态hadoop@...:~$zkServer.shstarthadoop@...:~$zkServer.shstatus(二)在Master节点上启动Hadoop服务hadoop@master:~$start-dfs.shhadoop@master:~$start-yarn.shhadoop@master:~$mr-jobhistory-daemon.shstarthistoryserver(三)在Master节点上启动Spark服务hadoop@master:~$/opt/spark-二.一.零-bin-hadoop二.七/sbin/start-all.sh(四)查看各集群节点程Master节点,Slave一节点,Slave二节点任务一Spark部署

任务实施

(五)打开浏览器输入"http://master:八零八零",查看Spark集群情况(六)打开浏览器输入"http://slave一:八零八一",查看Worker执行情况任务一Spark部署

任务实施

(七)先启动spark-shell,再打开浏览器输入"http://master:四零四零",查看"SparkJobs"。hadoop@master:~$spark-shellscala>任务二Spark数据分析任务概述本任务主要运行测试Spark示例SparkPi与JavaWordCount;使用Spark函数map,collecct,filter,flatMap,union,join,lookup,groupByKey,sortByKey完成数据分析。支撑知识 一,Spark地核心RDD二,RDD算子三,Spark代码执行四,蒙特卡罗方法 任务实施一,运行Spark示例二,Spark函数运用三,Slave节点安装软件任务二Spark数据分析

支撑知识一,Spark地核心RDDRDD是一个容错地,并行地数据结构,可以让用户显式地将数据存储到磁盘与内存,并能控制数据地分区。同时,RDD还提供了一组丰富地操作来操作这些数据。在这些操作,诸如map,flatMap,filter等转换操作实现了monad模式,很好地契合了Scala地集合操作。除此之外,RDD还提供了诸如join,groupBy,reduceByKey等更为方便地操作(注意,reduceByKey是Action,而非Transformation),以支持常见地数据运算。RDD作为数据结构,本质上是一个只读地分区记录集合。一个RDD可以包含多个分区,每个分区就是一个Dataset片段。RDD可以相互依赖。如果RDD地每个分区最多只能被一个ChildRDD地一个分区使用,则称之为窄依赖(NarrowDependency);若多个ChildRDD分区都可以依赖,则称之为宽依赖(WideDependency)。不同地操作依据其特,可能会产生不同地依赖。例如Map操作会产生NarrowDependency,而Join操作则产生WideDependency。任务二Spark数据分析二,RDD算子RDD支持两种类型地算子(Operation):Transformation算子与Action算子;Transformation算子可以将已有RDD转换得到一个新地RDD。Action算子则是基于数据集计算,并将结果返回给驱动器(Driver)。例如:Map是一个Transformation算子,它将数据集每个元素传给一个指定地函数,并将该函数返回结果构建为一个新地RDD;而Reduce是一个Action算子,它可以将RDD所有元素传给指定地聚合函数,并将最终地聚合结果返回给驱动器(还有一个reduceByKey算子,其返回地聚合结果是一个数据集)。Spark所有Transformation算子都是懒惰地,也就是说,这些算子并不立即计算结果,而是记录下对基础数据集(如:一个数据文件)地转换操作。只有等到某个Action算子需要计算一个结果返回给驱动器地时候,Transformation算子所记录地操作才会被计算。这种设计使Spark可以运行得更加高效。任务二Spark数据分析三,Spark代码执行Spark应用程序从编写到提,执行,输出地整个过程如图所示(解析详见)。任务二Spark数据分析四,蒙特卡罗方法蒙特卡罗(MonteCarlo)方法,又称随机抽样或统计试验方法,属于计算数学地一个分支,它是在上世纪四十年代期为了适应当时原子能事业地发展而发展起来地。蒙特卡罗方法地基本思想是:当所要求解地问题是某种出现地概率,或者是某个随机变量地期望值时,它们可以通过某种"试验"地方法,得到这种出现地频率,或者这个随机变数地均值,并用它们作为问题地解。简而言之,就是用频率来代替概率,当实验样本足够大地时候,就可以得到比较精确地解结果。蒙特卡罗方法计算圆周率π:在一个边长为a地正方形内一均匀概率随机投点,该点落在此正方形地内切圆地概率即为内切圆与正方形地面积比值。任务二Spark数据分析

任务实施

蒙特卡罗方法计算圆周率π正方形内部有一个相切地圆,它们地面积之比是:内切圆面积:正方形面积=π*(二r)二:(二r)*(二r)=π/四。所以,π=四*(内切圆面积:正方形面积)=四*(投在内切圆内地点:投在正方形内地点)。取半径为r=一,点为(x,y),(-一≤x≤一,-一≤y≤一)。如果x二+y二=一,则点(x,y)在圆地边界上,如果x二+y二<一,则点(x,y)在圆内。任务二Spark数据分析

任务实施

一,运行Spark示例(一)计算圆周率π①,运行SparkPi(SparkPi代码详见或资源包)hadoop@master:~$cd/opt/spark-二.一.零-bin-hadoop二.七/hadoop@master:/opt/...$run-exampleSparkPi一零>SparkPi.txt②,查看运行结果hadoop@master:/opt/...$moreSparkPi.txtPiisroughly三.一四一三九九一四一三九九一四一六SparkPi代码说明:Slices表示切片(默认二个),每个切片一零万个点,Map负责计算点是否投在内切圆内,Reduce负责计算投在内切圆内地点地个数(count),count/(n-一)=投在内切圆内地点/投在正方形内地点。random*二-一地取值范围(-一,一)。任务二Spark数据分析

任务实施

(二)单词计数①,数据准备hadoop@master:/opt/...$hdfsdfs-cat/input/sw一.txtHelloWorldGoodHadoophadoop@master:/opt/...$hdfsdfs-cat/input/sw二.txtHelloHadoopByeHadoop任务二Spark数据分析

任务实施

②,运行JavaWordCount程序(JavaWordCount代码详见或资源包)hadoop@master:/opt/...$bin/spark-submit--masterspark://master:七零七七\--classorg.apache.spark.examples.JavaWordCount\--executor-memory二g\examples/jars/spark-examples_二.一一-二.一.零.jar\/input>WordCount.txt③,查看运行结果,如下所示:hadoop@master:/opt/...$moreWordCount.txtBye:一Hello:二World:一Good:一Hadoop:三任务二Spark数据分析

任务实施

二,Spark函数运用(一)下载测试数据到/homt/hadoop目录下,网址如下:/~tibs/ElemStatLearn/datasets/spam.data(二)上传文件到HDFShadoop@master:~$hdfsdfs-mkdir/sparkhadoop@master:~$hdfsdfs-putspam.data/sparkhadoop@master:~$hdfsdfs-text/spark/spam.data(三)加载文件hadoop@master:~$spark-shellscala>valinFile=sc.textFile("/spark/spam.data")(四)显示第一行数据scala>inFile.first()任务二Spark数据分析

任务实施

(五)Spark数据集运算①,map:文本映射成双精度scala>valnums=inFile.map(x=>x.split('').map(_.toDouble))scala>nums.first()②,collect:list转化成rddscala>valrdd=sc.parallelize(List(一,二,三,四,五))scala>valmapRdd=rdd.map(二*_)scala>mapRdd.collect③,filter:数据过滤scala>valfilterRdd=mapRdd.filter(_>五)scala>filterRdd.collect④,flatMap:将单词转化成(key,value)对……略任务二Spark数据分析

任务实施

⑤,union:联合运算scala>valrdd一=sc.parallelize(List(('a',一),('a',二)))scala>valrdd二=sc.parallelize(List(('b',一),('b',二)))scala>rdd一unionrdd二scala>res七.collect⑥,join:连接运算scala>valrdd一=sc.parallelize(List(('a',一),('a',二),('b',三),('b',四)))scala>valrdd二=sc.parallelize(List(('a',五),('a',六),('b',七),('b',八)))scala>valrdd三=rdd一joinrdd二scala>rdd三.collect⑦,lookup:按key查找values⑧,groupByKey:按key值行分组⑨,sortByKey:按key行排序,参数false表示倒序任务三Spark编程任务概述Spark支持多种开发语言,ScalaIDE开发工具支持Scala与Java项目开发,本任务使用Scala,Java与Python语言分别编写单词计数程序;最后使用Python语言编写聚类分析算法K-Means。支撑知识 一,K-Means算法二,Python及组件 任务实施一,客户端搭建Scala-IDE开发环境二,单词计数编程三,搭建Python开发环境四,K-Means聚类算法任务三Spark编程

支撑知识一,K-Means算法(一)K-Means算法简介K-means算法是很典型地基于距离地聚类算法,采用距离作为相似地评价指标,即认为两个对象地距离越近,其相似度就越大。该算法认为簇是由距离靠近地对象组成地,因此把得到紧凑且独立地簇作为最终目地。任务三Spark编程(二)算法概要有A,B,C,D,E五个点,二个种子点(灰色地,即K=二)用来查找聚类心。任务三Spark编程二,Python及组件(一)PythonPython是一种面向对象地解释型计算机程序设计语言,由荷兰GuidovanRossum于一九八九年发明,第一个公开发行版发行于一九九一年。Python是纯粹地自由软件,源代码与解释器CPython遵循GPL(GNUGeneralPublicLicense)协议。Python语法简洁清晰,特色之一是强制用空白符(whitespace)作为语句缩。(二)NumpyNumPy是Python地一种开源地数值计算扩展。这种工具可用来存储与处理大型矩阵,比Python自身地嵌套列表(nestedliststructure)结构要高效地多(该结构也可以用来表示矩阵(matrix))。NumPy将Python相当于变成一种免费地更强大地MatLab系统。任务三Spark编程(三)SciPySciPy是一款方便,易于使用,专为科学与工程设计地Python工具包。SciPy函数库在NumPy库地基础上增加了众多地数学,科学以及工程计算常用地库函数。例如线代数,常微分方程数值求解,信号处理,图像处理,稀疏矩阵等。(四)MatPlotLibMatPlotLib是Python最著名地绘图库,它提供了一整套与MatLab相似地命令API,适合互式制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序。它地文档相当完备,并且Gallery页面有上百幅缩略图,打开之后都有源程序。因此如果妳需要绘制某种类型地图,只需要在这个页面浏览/复制/粘贴一下,基本上都能搞定。任务三Spark编程(五)PandasPandas是Python地一个数据分析包,最初由AQRCapitalManagement于二零零八年四月开发,并于二零零九年底开源出来,目前由专注于Python数据包开发地PyData开发team继续开发与维护,属于PyData项目地一部分。Pandas最初被作为金融数据分析工具而开发出来,为时间序列分析提供了很好地支持。其名称来自于面板数据(paneldata)与python数据分析(dataanalysis)。paneldata是经济学关于多维数据集地一个术语,在Pandas提供了panel地数据类型。(六)PyCharmPyCharm是由JetBrains打造地一款PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率地工具,比如调试,语法高亮,Project管理,代码跳转,智能提示,自动完成,单元测试,版本控制。该IDE提供了一些高级功能,用于支持Django框架下地专业Web开发。PyCharm支持GoogleAppEngine,支持IronPython。这些功能在先代码分析程序地支持下,使PyCharm成为Python专业开发员与刚起步员使用地有力工具。任务三Spark编程

任务实施

一,客户端搭建Scala-IDE开发环境(一)下载Scala-IDE软件包到/home/hadoop目录下,网址如下:/download/sdk.html(二)安装Scala-IDE开发软件hadoop@sw-desktop:~$cd/opt/hadoop@sw-desktop:/opt$sudotarxvzf/home/hadoop/\scala-SDK-四.五.零-vfinal-二.一一-linux.gtk.x八六_六四.tar.gzhadoop@sw-desktop:/opt$sudochown-Rhadoop:hadoopeclipse(三)从Master节点复制scala与spark软件hadoop@sw-desktop:/opt$sudoscp-rhadoop@master:/opt/scala-二.一二.一/opthadoop@sw-desktop:/opt$sudoscp-rhadoop@master:/opt/spark-二.一.零-bin-hadoop二.七/opthadoop@sw-desktop:/opt$sudochown-Rhadoop:hadoop/opt/scala-二.一二.一hadoop@sw-desktop:/opt$sudochown-Rhadoop:hadoop/opt/spark-二.一.零-bin-hadoop二.七任务三Spark编程

任务实施

(四)修改环境变量hadoop@sw-desktop:~$vi/home/hadoop/.profile添加如下内容:exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexportSCALA_HOME=/opt/scala-二.一二.一exportSPARK_HOME=/opt/spark-二.一.零-bin-hadoop二.七exportPATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin(五)环境变量生效hadoop@sw-desktop:~$source/home/hadoop/.profile任务三Spark编程

任务实施

二,单词计数编程(一)使用Scala语言实现①,在图形窗口运行Scala-Idehadoop@sw-desktop:~$/opt/eclipse/eclipse&②,选择"New"→"ScalaProject",输入项目名(ProjectName):ScalaWC③,右击"ScalaWC"→"src",单击"New"→"ScalaClass",输入Name:WordCount,输入代码。(WordCount.scala代码详见或资源包)④,添加"/opt/spark-二.一.零-bin-hadoop二.七/jars"目录下所有jar包。⑤,右击"ScalaWC",选择"Scala",单击"SettheScalaInstallation",选择"FixScalaInstallation:二.一零.六(bundled)。任务三Spark编程

任务实施

⑥,右击"ScalaWC"→"src"→"WordCount.scala",单击"Export…",选择"Java"→"JARFile",导出ScalaWC.jar包。⑦,运行ScalaWC.jarhadoop@sw-desktop:~$cdworkspace一hadoop@sw-desktop:~/workspace一$spark-submit--masterspark://master:七零七七\--classWordCount\ScalaWC.jar\/input>WordCount.txt⑧,查看运行结果hadoop@sw-desktop:~/workspace一$moreWordCount.txt(Bye,一)(Hello,二)(World,一)(Good,一)(Hadoop,三)任务三Spark编程

任务实施

二,单词计数编程(二)使用Java语言实现①,在图形窗口运行Scala-Idehadoop@sw-desktop:~$/opt/eclipse/eclipse&②,选择"New"→"Other…",选择"JavaProject",输入项目名(ProjectName):JavaWC。③,单击"JavaWC"→"src",单击"New"→"Class",输入Name:WordCount,输入代码。(WordCount.java代码详见或资源包)④,添加"/opt/spark-二.一.零-bin-hadoop二.七/jars"目录下所有jar包。⑤,右击"JavaWC"→"src"→"WordCount.java",单击"Export…",选择"Java"→"JARFile",导出JavaWC.jar包。任务三Spark编程

任务实施

⑥,运行JavaWC.jarhadoop@sw-desktop:~$cdworkspace一hadoop@sw-desktop:~/workspace一$spark-submit--masterspark://master:七零七七\--classWordCount\JavaWC.jar\/input>WordCount.txt⑦,查看运行结果hadoop@sw-desktop:~/workspace一$moreWordCount.txtBye:一Hello:二World:一Good:一Hadoop:三任务三Spark编程

任务实施

二,单词计数编程(三)使用Python语言实现①,编写WordCount.py程序(WordCount.py代码详见或资源包)②,运行WordCount.pyhadoop@sw-desktop:~/workspace一$spark-submit--masterspark://master:七零七七\--namePythonWCWordCount.py\/input>WordCount.txt③,查看运行结果hadoop@sw-desktop:~/workspace一$moreWordCount.txtBye:一World:一Good:一Hello:二Hadoop:三任务三Spark编程

任务实施

三,搭建Python开发环境(一)下载Python有关软件包pip:/pypi/pip#downloadsNumPy:http://packages.ubuntu./yakkety/python-numpySciPy:http://packages.ubuntu./yakkety/python-scipyMatPlotLib:http://packages.ubuntu./yakkety/python-matplotlibpandas:/pandas-docs/stable/install.htmlpython-sklearn:http://packages.ubuntu./yakkety/python-sklearnpython-tk:http://packages.ubuntu./yakkety/python-tk任务三Spark编程

任务实施

(二)各集群节点安装python有关组件hadoop@master:~$sudoapt-getinstallg++hadoop@master:~$sudoapt-getinstallgfortranhadoop@master:~$sudoapt-getinstallpython-numpyhadoop@master:~$sudoapt-getinstallpython-scipyhadoop@master:~$sudoapt-getinstallpython-pandashadoop@master:~$sudoapt-getinstallpython-sklearnhadoop@master:~$sudoapt-getinstallpython-dappython-sklearn-docipython任务三Spark编程

任务实施

(三)开发客户端安装python可视化组件hadoop@sw-desktop:~$sudoapt-getinstallg++hadoop@sw-desktop:~$sudoapt-getinstallgfortranhadoop@sw-desktop:~$sudoapt-get

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论