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 }
写好我们的代码之后还要做一件非常重要的事情,就是把这个代码打包上传到我们的集群里
2.这里来给大家演示一下如何把代码打成jar包和上传到集群的操作
有两种方法可以打包
第一种:
把IDEA右侧的一个叫maven project的目录打开
打开之后点击你的项目名称,然后点击lifecycle,点住clean和package,双击
之后自动开始打包
打包完成以后去项目的target下面查看一下包是否成功导出
上面可以看到已经成功的打包出来了,然后把打好的jar包上传至集群某个文件夹下
然后到spark的bin目录下执行命令:
./spark-submit \ --class 包名加类名 \ --master spark://节点名://7077 \ --jar包在你的集群的绝对路径 \ 参数值
回车,就开始执行jar包了,下面是结果的展示
到这里为止,我们已经成功的运行了!
转载本文请和本文作者联系,本文来自博客园一袭白衣一