[关闭]
@awsekfozc 2016-01-27T13:47:39.000000Z 字数 1393 阅读 1365

Spark App

Spark

Job submit

222034412703127.jpg-172.7kB

 1. Driver程序的代码运行到action操作,触发了SparkContext的runJob方法。SparkContext创建Executors
 2. SparkContext调用DAGScheduler的runJob函数。
 3. DAGScheduler把Job倒推划分stage,然后把stage转化为相应的Tasks,把Tasks交给TaskScheduler。
 4. 通过TaskScheduler把Tasks添加到任务队列当中,交给SchedulerBackend进行资源分配和任务调度。
 5. 调度器给Task分配执行Executor,ExecutorBackend负责执行Task。

History Server

  1. ##spark-env.sh HDFS要创建这个目录才能启动成功
  2. SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://hadoop.zc.com:8020/user/zc/spark/logs"
  3. ##spark-defaults.conf
  4. spark.eventLog.enabled true
  5. spark.eventLog.dir hdfs://hadoop.zc.com:8020/user/zc/spark/logs
  6. spark.eventLog.compress true
  7. ##cmd
  8. $ sbin/start-history-server.sh
  9. ##端口18080

QQ截图20160123073444.png-52.3kB

代码

  1. package com.zc.bigdata.spark.app
  2. import org.apache.spark._
  3. /**
  4. * Created by zc on 1/20/15.
  5. */
  6. object FirstSparkApp {
  7. def main(args: Array[String]) {
  8. val inputFile = "hdfs://hadoop.zc.com:8020/user/zc/spark/input" ;
  9. val outputFile = "hdfs://hadoop.zc.com:8020/user/zc/spark/output" ;
  10. // create SparkConf
  11. val sparkConf = new SparkConf() //
  12. .setAppName("firstSparkApp") //
  13. .setMaster("local[2]")
  14. // create SparkContxt
  15. val sc = new SparkContext(sparkConf)
  16. // create RDD
  17. val rdd = sc.textFile(inputFile)
  18. // rdd transformation
  19. val wordCountRdd = rdd.flatMap(line => line.split(" ")) //
  20. .map(word => (word,1)) //
  21. // .sortByKey() //
  22. .reduceByKey((a,b) => (a + b))
  23. // rdd action
  24. // wordCountRdd.foreach(println)
  25. wordCountRdd.saveAsTextFile(outputFile)
  26. sc.stop()
  27. }
  28. }
提交任务:$ bin/spark-submit --master spark://hadoop.zc.com:7077 /opt/datas/jar/sparkApp.jar

在此输入正文

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注