Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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 - Fatal编程技术网

Apache spark spark中的分区数和并发任务数是如何计算的

Apache spark spark中的分区数和并发任务数是如何计算的,apache-spark,Apache Spark,我有一个使用Spark 1.0.1的集群,它有4个节点(每个节点有16个核心) 我有一个已经重新分区的RDD,所以它有200个分区(希望增加并行性) 当我在这个RDD上进行转换(如filter)时,我似乎无法在一个时间点获得超过64个任务(我在4个节点上的内核总数)。所谓任务,我指的是出现在应用程序Spark UI下的任务数。我尝试显式地将spark.default.parallelism设置为128(希望可以同时运行128个任务),并在正在运行的应用程序的应用程序UI中验证了这一点,但没有效果

我有一个使用Spark 1.0.1的集群,它有4个节点(每个节点有16个核心)

我有一个已经重新分区的RDD,所以它有200个分区(希望增加并行性)

当我在这个RDD上进行转换(如filter)时,我似乎无法在一个时间点获得超过64个任务(我在4个节点上的内核总数)。所谓任务,我指的是出现在应用程序Spark UI下的任务数。我尝试显式地将spark.default.parallelism设置为128(希望可以同时运行128个任务),并在正在运行的应用程序的应用程序UI中验证了这一点,但没有效果。对于“过滤器”,这可能会被忽略,默认值是可用的磁芯总数


我对Spark还比较陌生,所以我可能只是缺少或误解了一些基本的东西。任何帮助都将不胜感激。

这是正确的行为。每个“核心”一次只能执行一个任务,每个任务对应一个分区。如果集群只有64个核心,那么一次最多只能运行64个任务

您可以在每个节点上运行多个worker以获得更多的执行器。这将为集群中提供更多的核心。但是,无论您有多少个内核,每个内核一次只运行一个任务

您可以在下面的线程中看到更多详细信息