1. 打包过程
此内容是接着上一篇 的,需将WordCount.Scala程序稍作修改,并将“.setMaster(“local”)”改为备注。
package abc
import org.apache.spark.{SparkContext, SparkConf}
object WordCount {
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("d://env_spark//spark-2.3.3//README.md")//读取本地文件
data.flatMap(_.split(" "))//下划线是占位符,flatMap是对行操作的方法,对读入的数据进行分割
.map((_,1))//将每一项转换为key-value,数据是key,value是1
.reduceByKey(_+_)//将具有相同key的项相加合并成一个
.collect()//将分布式的RDD返回一个单机的scala array,在这个数组上运用scala的函数操作,并返回结果到驱动程序
.foreach(println)//循环打印
*/
val rdd = sc.parallelize(List(1,3,5,7,9)).map(_*2)
val mapRDD = rdd.filter(_>10).collect()
println(rdd.reduce(_+_))
for(arg <- mapRDD)
print(arg+" ")
println()
}
}
再进行打jar包,
“OK”,得到
选中外部依赖jar包,右键,“Remove”,
2. 上传集群并执行
通过Xftp将 FirstSpark.jar 上传至虚拟机集群中的Master机器上,然后启动Spark集群,执行
结果如下:
Spark的WebUI显示: