gpt4 book ai didi

python - npartitions 在 Dask 数据帧中的作用是什么?

转载 作者:太空狗 更新时间:2023-10-30 00:38:16 24 4
gpt4 key购买 nike

我在很多函数中看到了参数 npartitions,但我不明白它有什么用。

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

head(...)

Elements are only taken from the first npartitions, with a default of 1. If there are fewer than n rows in the first npartitions a warning will be raised and any found rows returned. Pass -1 to use all partitions.

repartition(...)

Number of partitions of output, must be less than npartitions of input. Only used if divisions isn’t specified.

在这种情况下分区的数量可能是 5:

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

最佳答案

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

  1. 如果您没有足够的分区,那么您可能无法有效地使用所有核心。例如,如果您的 dask.dataframe 只有一个分区,那么一次只能有一个核心运行。
  2. 如果您有太多分区,那么调度程序可能会产生大量开销来决定在何处计算每个任务。

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

您可以在数据摄取时使用 read_csv(...) 中的 blocksize= 等参数或之后使用 来确定分区数.repartition(...) 方法。

关于python - npartitions 在 Dask 数据帧中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46645477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com