1.遠程集群測試
import org.apache.spark.{SparkContext, SparkConf} import scala.math.random /** * 利用spark進行圓周率的計算 * Created by 汪本成 on 2016/6/10. */ object test { def main(args: Array[String]) {
//這一行重要,連接集群測試 //要測試的集群路徑 //自己編譯器要打的項目jar包(下面有如何打成jar包示例) val conf = new SparkConf().setAppName("SparkPai").setMaster("spark://192.168.1.116:7077").setJars(List("D:\\IntelliJ IDEA 15.0.2\\workplace\\test\\out\\artifacts\\test_jar\\test.jar")) val sc = new SparkContext(conf) //分片數 val slices = if (args.length > 0) args(0).toInt else 2 //為避免溢出,n不超過int的最大值 val n = math.min(10000L*slices, Int.MaxValue).toInt //計數 val count = sc.parallelize(1 until n, slices).map{ lines => //小於1的隨機數 val x = random*2 - 1 //小於1的隨機數 val y = random*2 - 1 //點到圓心的的值,小於1計數一次,超出1就不計算 if (x*x + y*y < 1) 1 else 0 }.reduce(_+_) //匯總累加落入的圓中的次數 //count / n是概率,count落入圓中次的數,n是總次數; println("Pai is roughly " + 4.0 * count / n) sc.stop() } }
2.非集群,單機測試。
import org.apache.spark.sql.SparkSession import org.apache.spark.SparkConf object T2 { def main(args: Array[String]) { //單擊不用集群就不用指定集群路徑 //本地單擊 val conf=new SparkConf().setAppName("CreateDF").setMaster("local[2]") val spark = SparkSession .builder().config(conf) .getOrCreate() // val df = spark.read.json("file:\\C:\\Users\\Administrator\\Desktop\\spark-2.2.1\\spark-2.2.1-bin-hadoop2.7\\examples\\src\\main\\resources\\people.json") df.show() } }
3.給項目打包
4.運行自己打的項目jar包(下面以 spark221.jar 為例)
//運行
spark-submit --class SQL spark221.jar
//或
spark-submit --class sql test.jar --master yarn
示例2:
Ⅰ 打開sparkUI界面
1)首先啟動打開一個spark-shell 就有了
[root@hadoop-2 bin]# spark-shell
然后訪問瀏覽器地址:http://192.168.1.116:4040