Spark任务提交后是如何完成提交过程的?源码解析!
我们熟知的提交命令:
sparksubmit v class xxx master spark://xxx7077 ....
然后我们vi sparksubmit.
看到他实际上启动的是SparkSubmit的类。
然后我们来到源码中找到SparkSubmit,进行分析。
刚进入类中,你就会发现:
我们说spark的四种运行模式,就是他们。
既然SparkSubmit能运行任务,那么他应该能启动一个属于自己的进程,也就是说他会有自己的mian方法。
果不其然:
在对象SparkSubmit中有个main方法,实例化一个SparkSubmitArguments类,调用该类的Submit方法。
在submit中首先引用了prepareSubmitEnvironment方法,见名知意,准备提交的环境,点进去:
在submit()方法中先调用了prepareSubmitEnvironment()方法,再调用了dorunMain()方法。
看你选择那种运行环境,
【注】后面代码还有各种信息,这里没有全部截出来。自行查阅
然后回到submit方法,点击runMain,进入runmain方法,往下找
你会发现我们常说的App