Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 根据执行器、磁芯和内存决定spark(在纱线上运行)中的分区号_Apache Spark_Distributed Computing_Partitioning - Fatal编程技术网

Apache spark 根据执行器、磁芯和内存决定spark(在纱线上运行)中的分区号

Apache spark 根据执行器、磁芯和内存决定spark(在纱线上运行)中的分区号,apache-spark,distributed-computing,partitioning,Apache Spark,Distributed Computing,Partitioning,如何根据执行器、内核和内存来确定spark(在纱线上运行)中的分区号。 因为我是新的火花,所以没有太多的实际情况的手 我知道要考虑分区的许多事情,但任何生产的一般情况下的解释将是非常有帮助的。 提前谢谢 并行集合的一个重要参数是 要将数据集切割成的分区。Spark将为每个任务运行一个任务 集群的分区。通常每个分区需要2-4个分区 集群中的CPU 建议分区数为芯数的2/4* 所以,如果您有7个执行器和5个核心,您可以在7*5*2=70和7*5*4=140分区之间重新分区 并行集合的一个重要参数是

如何根据执行器、内核和内存来确定spark(在纱线上运行)中的分区号。 因为我是新的火花,所以没有太多的实际情况的手

我知道要考虑分区的许多事情,但任何生产的一般情况下的解释将是非常有帮助的。 提前谢谢

并行集合的一个重要参数是 要将数据集切割成的分区。Spark将为每个任务运行一个任务 集群的分区。通常每个分区需要2-4个分区 集群中的CPU

建议分区数为芯数的2/4*

所以,如果您有7个执行器和5个核心,您可以在7*5*2=70和7*5*4=140分区之间重新分区

并行集合的一个重要参数是 要将数据集切割成的分区。Spark将为每个任务运行一个任务 集群的分区。通常每个分区需要2-4个分区 集群中的CPU

建议分区数为芯数的2/4*

所以,如果您有7个执行器和5个核心,您可以在7*5*2=70和7*5*4=140分区之间重新分区


IMO使用spark 3.0和AWS EMR 2.4.x以及自适应查询执行,通常最好让spark来处理。如果你真的想手动调整,答案往往很复杂。一个好的选择是拥有2到4倍的可用CPU数量。虽然这对于大多数数据集都很有用,但对于非常大和非常小的数据集,这都会产生问题。在这些情况下,每个分区的目标容量为128MB是很有用的。

IMO使用spark 3.0和AWS EMR 2.4.x,使用自适应查询执行,通常最好让spark来处理。如果你真的想手动调整,答案往往很复杂。一个好的选择是拥有2到4倍的可用CPU数量。虽然这对于大多数数据集都很有用,但对于非常大和非常小的数据集,这都会产生问题。在这些情况下,将每个分区的容量控制在128MB左右是很有用的