本地運行模式 (單機)
- 該模式被稱為Local[N]模式,是用單機的多個線程來模擬Spark分布式計算,直接運行在本地,便於調試,通常用來驗證開發出來的應用程序邏輯上有沒有問題。
- 其中N代表可以使用N個線程,每個線程擁有一個core。如果不指定N,則默認是1個線程(該線程有1個core)。
- 如果是local[*],則代表 Run Spark locally with as many worker threads as logical cores on your machine.
那么,這些線程都運行在什么進程下呢?
運行該模式非常簡單,只需要把Spark的安裝包解壓后,改一些常用的配置即可使用,而不用啟動Spark的Master、Worker守護進程( 只有集群的Standalone方式時,才需要這兩個角色),也不用啟動Hadoop的各服務(除非你要用到HDFS),這是和其他模式的區別哦,要記住才能理解。
那么,這些執行任務的線程,到底是共享在什么進程中呢?
我們用如下命令提交作業:

可以看到,在程序執行過程中,只會生成一個SparkSubmit進程。
這個SparkSubmit進程又當爹、又當媽,既是客戶提交任務的Client進程、又是Spark的driver程序、還充當着Spark執行Task的Executor角色。(如下圖所示:driver的web ui)
這里有個小插曲,因為driver程序在應用程序結束后就會終止,那么如何在web界面看到該應用程序的執行情況呢,需要如此這般:(如下圖所示)
轉載自:
作者:俺是亮哥
鏈接:https://www.jianshu.com/p/65a3476757a5
來源:簡書