可以在一个主spark作业中生成多个spark作业吗?我的主spark作业的驱动程序在yarn cluster上启动,会做一些预处理,在此基础上,它需要在yarn cluster上启动multilple spark作业。不确定这是不是正确的模式。
主spark作业将启动其他spark作业,类似于在spark驱动程序中调用multiple spark submit。新作业的这些派生线程将是完全不同的组件,因此不能使用spark操作来实现。
请分享你的想法。
为了更好的理解,下面是我的示例代码。。
Object Mainsparkjob {
main(...){
val sc=new SparkContext(..)
Fetch from hive..using hivecontext
Fetch from hbase
//spawning multiple Futures..
Val future1=Future{
Val sparkjob= SparkLauncher(...).launch; spark.waitFor
}
Similarly, future2 to futureN.
future1.onComplete{...}
}
}//end of main spark job
1条答案
按热度按时间pod7payv1#
使用像oozie这样的工作流管理工具来协调作业中的这种依赖关系。
oozie有spark action,她将action,give action,java action,distcp,email,所有的东西都可以在那里找到。
所以我们可以用oozie在工作之间建立一个良好的体面