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包了,下面是結果的展示
到這里為止,我們已經成功的運行了!
轉載本文請和本文作者聯系,本文來自博客園一襲白衣一