val spark = SparkSession
.builder
.appName("StructuredNetworkWordCount")
.config("spark.executor.memory", "2048m")
.config("spark.driver.memory", "4096m")
.config("spark.default.parallelism", "4")
// .config("spark.driver.cores", "4")
.config("spark.exe", "4")
.master("local[*]")
.getOrCreate()
在代码里设置master(“local[*]”),我看有的说影响executor的数量,发现executor数量并没有变化,driver cores 数量有变化,等同于 .config(“spark.driver.cores”, “8”)
Local模式就是运行在一台计算机上的模式,通常就是用于在本机上练手和测试。它可以通过以下集中方式设置Master
local: 所有计算都运行在一个线程当中,没有任何并行计算,通常我们在本机执行一些测试代码,或者练手,就用这种模式;
local[K]: 指定使用几个线程来运行计算,比如local[4]就是运行4个Worker线程。通常我们的Cpu有几个Core,就指定几个线程,最大化利用Cpu的计算能力;
local[*]: 这种模式直接帮你按照Cpu最多Cores来设置线程数了。
https://spark.apache.org/docs/3.2.1/submitting-applications.html#master-urls
链接: spark官网


![intellij idea运行spark local[*]的含义 intellij idea运行spark local[*]的含义](http://www.mshxw.com/aiimages/31/897122.png)
