我有一个火花工作,读取镶木地板数据文件。 每个Parquet文件的块大小为32 MB,包含13个块。
我用2个执行器和10个核心启动了火花壳,这意味着可以使用20个核心。 该作业读取10个镶木地板文件并执行计数操作。
我假设因为有13个块/文件(10 * 13 = 130),所以应该在该阶段运行130个任务。但是我只能看到在那个阶段执行的36个任务。 另外,在阅读10个文件时,我只能看到20个任务正在完成工作。由于有130个块,因此每个任务读取块时不会生成130个任务。 我的理解是否有任何不妥之处。
我正在运行的命令如下: Spark Shell命令:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="list">
<li>one</li>
<li>two</li>
<li class='active'>three</li>
<li>four</li>
<li>five</li>
<li>six</li>
</ul>
Scala代码:
spark-shell --master yarn-client --num-executors 2 --executor-cores 10 --executor-memory 420G --driver-memory 2g --conf spark.yarn.executor.memoryOverhead=4096