第一步、新建项目
1、
image.png2、
image.png第二步、添加spark依赖
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.2.1</version>
</dependency>
第三步、创建spark项目
import org.apache.spark.mllib.linalg.{Matrices, Matrix}
import org.apache.spark.{SparkContext, SparkConf}
/**
* Created by Administrator on 2017/4/20.
* xudong
*/
object WordCountLocal {
def main(args: Array[String]) {
/**
* SparkContext 的初始化需要一个SparkConf对象
* SparkConf包含了Spark集群的配置的各种参数
*/
val conf=new SparkConf()
.setMaster("local")//启动本地化计算
.setAppName("testRdd")//设置本程序名称
//Spark程序的编写都是从SparkContext开始的
val sc=new SparkContext(conf)
//以上的语句等价与val sc=new SparkContext("local","testRdd")
val data=sc.textFile("e://hello.txt")//读取本地文件
// val data=sc.textFile("file:///opt/modules/wc.input")//读取本地文件
data.flatMap(_.split(" "))//下划线是占位符,flatMap是对行操作的方法,对读入的数据进行分割
.map((_,1))//将每一项转换为key-value,数据是key,value是1
.reduceByKey(_+_)//将具有相同key的项相加合并成一个
.collect()//将分布式的RDD返回一个单机的scala array,在这个数组上运用scala的函数操作,并返回结果到驱动程序
.foreach(println)//循环打印
}
}
第四步、打jar包提交到spark集群计算
1、
2、
image.png3、选择一个主程序
image.png4、选择第二种打包方式
5、选择应用
6、补充
如果出现下图的情况
将下图中圈出来的文件删除,再重复1-5步骤
7、build或者rebuild一下
image.pngimage.png
第五步、在spark集群计算
spark-submit --master spark://master的主机ip:7077 --class 主方法所在类的名称 jar包的绝对路径 输入文件的绝对路径(此处是hdfs上面的绝对路径,如果不需要输入文件路径,在主方法中已经指定好了输入路径,此条可以省略)
spark-submit --master spark://192.168.47.195:7077 --class WordCountLocal /opt/modules/wordspark.jar
网友评论