Spark学习笔记3(IDEA编写scala代码并打包上传集群运行)

Spark学习笔记3

IDEA编写scala代码并打包上传集群运行

我们在IDEA上的maven项目已经搭建完成了,现在可以写一个简单的spark代码并且打成jar包

上传至集群,来检验一下我们的spark搭建后是否真正可以使用了

1.今天就和大家写一个计算π的spark代码

下面我把已经写好了的代码放在下面,大家可以借以参考一下

 1 package day02
 2 
 3 import org.apache.spark.{SparkConf, SparkContext}
 4 import scala.math.random
 5 object SparkPi02 {
 6 
 7   def main(args: Array[String]): Unit = {
 8 
 9     val spark = new SparkContext( new SparkConf().setAppName("SparkPi02"))
10 
11     val slices = if (args.length > 0) args(0).toInt else 2
12 
13     val n = math.min(100000L * slices,Int.MaxValue).toInt
14 
15     val count = spark.parallelize(1 until n,slices).map { i =>
16 
17         val x = random * 2 - 1
18         val y = random * 2 - 1
19 
20         if (x * x + y * y < 1) 1 else 0
21 
22     }.reduce(_+_)
23 
24     println("Pi is roughly" + 4.0 * count / n)
25 
26     spark.stop()
27 
28   }
29 
30 
31 }
View Code

写好我们的代码之后还要做一件非常重要的事情,就是把这个代码打包上传到我们的集群里

2.这里来给大家演示一下如何把代码打成jar包和上传到集群的操作

有两种方法可以打包

第一种:

把IDEA右侧的一个叫maven project的目录打开

打开之后点击你的项目名称,然后点击lifecycle,点住clean和package,双击

之后自动开始打包

打包完成以后去项目的target下面查看一下包是否成功导出

上面可以看到已经成功的打包出来了,然后把打好的jar包上传至集群某个文件夹下

然后到spark的bin目录下执行命令:

./spark-submit 
--class 包名加类名 
--master spark://节点名://7077 
--jar包在你的集群的绝对路径 
参数值

回车,就开始执行jar包了,下面是结果的展示

到这里为止,我们已经成功的运行了!

转载本文请和本文作者联系,本文来自博客园一袭白衣一

原文地址:https://www.cnblogs.com/LangZiXiYan/p/8353141.html