楼主你好~
我现在有点迷糊,请看如下代码:
[mw_shl_code=scala,true]object JobScheduling {
def main(args: Array[String]) {
// System.setProperty("spark.scheduler.mode", "FAIR")
val conf = new SparkConf().setAppName("BaseLineDemo").setMaster("local")
val sc = new SparkContext(conf)
val ssc = new StreamingContext(sc, Seconds(5))
ssc.checkpoint("/tmp/checkpoint")
// 通过TCP连接本机7788端口 获得输入流
val logs = ssc.receiverStream(new UdpReceiver(9514, "UTF-8"))
logs.foreachRDD(rdd =>{
rdd.foreach(event => {
// action-1
println(s"---------------${event}")
Thread.sleep(100)
})
})
logs.foreachRDD(rdd =>{
// action-2
rdd.foreach(event => {
println(s"+++++++++++++++${event}")
})
})
ssc.start()
ssc.awaitTermination()
}
}[/mw_shl_code]
action-1 action-2 应该就是两个job。那么这两个job是串行执行的 还是并行执行的?
另:
在每个Spark应用中,由不同线程提交的多个“jobs”(Spark actions)可以同时运行。
在spark中怎么使用多线程提交jobs? 使用 sparkContent.runJob 么? 能否给个例子?? |