- 一、提出任务
- 二、完成任务
- (一)新建Maven项目,基于JDK1.8
- (二)添加相关依赖和构建插件
- (三)创建日志属性文件
- (四)创建词频 统计单例对象
- (五)本地运行程序,查看结果
- (六)对于程序代码进行解析
- (七)将spark项目编译和打包
- (八)将词频统计应用上传到虚拟机
- (九在集群上执行词频统计应用)
- 1、提交应用程序到集群中运行
- (1)不带参数运行程序
- (2)带参数运行程序
- 2、命令参数解析
- 3、Spark WebUI界面查看应用程序信息
单词计数是学习分布式计算的入门程序,有很多种实现方式,例如MapReduce;使用Spark提供的RDD算子可以更加轻松地实现单词计数。
在IntelliJ IDEA中新建Maven管理的Spark项目,并在该项目中使用Scala语言编写Spark的WordCount程序,最后将项目打包提交到Spark集群(Standalone模式)中运行。
预备工作:启动集群的HDFS与Spark
HDFS上的单词文件-word.txt
设置信息(项目名称、保存位置、组编号以及项目编号)
单击[finish]按钮
将Java目录改为Scala目录
由于源程序目录改成了scala,在元素里必须添加子元素,指定目录src/main/scala
查看HDFS上的结果文件内容
创建文本文件-word.txt
上传到HDFS的/input目录
给程序设置命令行参数(注意两个参数之间必须有空格)
查看HDFS上的结果文件内容
将SparkRDDWordCount-1.0-SNAPSHOT.jar上传到master虚拟机/app目录
原因是Maven项目里依赖的Scala版本问题
在pom.xml文件里修改Scala依赖的版本以及Spark依赖的版本
查看到输出结果
还可以查看HDFS的结果文件
执行命令:spark-submit --master saprk://master:7077 --class net.py.rdd.WordCountSparkRDDWordCount-1.0-SNAPSHOT.jar hdfs://master:9000/imput/word.txt hdfs://master:9000/word_result
查看输出结果
还可以查看HDFS上的结果文件
-master:Spark Master节点的访问路径。由于在WordCount程序中已经通过setMaster()方法指定了该路径,因此该参数可以省略。
-class:SparkWordCount程序主类的访问全路径(包名.类名)。
应用程序运行的过程中,可以访问Spark的WebUIhttp://master:8080/,查看正在运行的应用程序的状态信息(也可以查看已经完成的应用程序)



