Apache Spark:执行程序可以在spark中容纳多少个分区?执行程序之间的分区如何分布(机制)?

时间:2019-10-07 18:48:03

标签: apache-spark apache-spark-sql

我有兴趣了解以下火花并行性和分区技巧

  1. 执行程序可以在火花中容纳多少个分区?
  2. 执行程序之间的分区如何分布(机制)?
  3. 如何设置分区的大小。想知道相关的config参数。
  4. 执行程序是否将所有分区存储在内存中?如果不是,当洒到磁盘上时,它会将整个分区洒到磁盘上还是将一部分分区洒到磁盘上吗? 5如果每个执行程序有2个核心,但该执行程序中有5个分区,则

1 个答案:

答案 0 :(得分:0)

查看它的方式不正确。执行者什么都不拿着,它确实起作用。

  • 分区由已分配给执行器的内核处理。执行器通常具有1个核心,但可以具有多个这样的核心。

  • 一个应用程序具有可转换为1个或多个作业的操作。

  • 一个作业具有阶段(基于随机边界)。

  • 阶段具有任务,这些任务的数量取决于分区的数量。

  • 对分区的并行处理取决于分配给执行程序的内核数。

Spark在内核,内存和磁盘方面具有可扩展性。与您的问题有关的后两个意思是,如果分区不能全部适合您工作的工作器上的内存,则该分区或更多分区将全部溢出到磁盘上。