警告Spark Stage xx的说明包含一个非常大的任务

时间:2018-08-08 15:35:51

标签: apache-spark pyspark partitioning

在pyspark(2.2.0)中,我列出了100,000个键值元素。当我对16个分区进行并行化时,会收到警告

>>> sc.parallelize(my_list,16).take(3)
Spark Stage xx contains a task of very large size (192 KB). The maximum recommended task size is 100 KB.

我知道我可以通过增加分区数来摆脱警告。我也知道可以通过设置spark参数来增加100K的限制。我想知道的是,这个限制怎么这么小?我的意思是,Spark应该处理海量数据,不是吗?除此之外,我可以在数据帧中读取20G的csv文件,然后将其重新分区到相同数量的分区(16)上,Spark不会抱怨。我想念什么?

编辑:@ user8371915我看到了重复项,但我认为它不能告诉我为什么限制这么小(以我理解Spark的方式,这个限制似乎太荒谬了,以至于我怀疑我不了解某些内容,我想知道什么)。它并没有告诉我,为什么在读取和重新分区20G文件时Spark不会抱怨。

0 个答案:

没有答案