Dask数据帧中npartition的作用是什么?

Mar*_*oma 9 python dataframe dask

npartitions在许多功能中都看到了参数,但是我不明白它的用途/用途。

http://dask.pydata.org/en/latest/dataframe-api.html#dask.dataframe.read_csv

头(...)

元素仅取自前n个分区,默认值为1。如果前n个分区中的行少于n,则将引发警告,并返回所有找到的行。传递-1以使用所有分区。

重新分区(...)

输出的分区数必须小于输入的npartitions。仅在未指定除法的情况下使用。

在这种情况下,分区数是否约为5:

(图片来源:http : //dask.pydata.org/en/latest/dataframe-overview.html

MRo*_*lin 14

npartitions属性是组成单个Dask数据框的Pandas数据框的数量。这以两种主要方式影响性能。

  1. 如果没有足够的分区,则可能无法有效使用所有内核。例如,如果dask.dataframe仅具有一个分区,则一次只能运行一个内核。
  2. 如果分区过多,则调度程序可能会产生很多开销,从而决定在何处计算每个任务。

通常,您想要的分区数量比核心数量多几倍。每个任务在调度程序中占用几百微秒。

您可以使用诸如blocksize=in read_csv(...)或之后的参数,在数据摄取时使用方法确定分区数.repartition(...)