npartitions 在 Dask 数据框中的作用是什么?

2024-04-15

我看到参数了npartitions有很多功能,但我不明白它有什么用/有什么用。

http://dask.pydata.org/en/latest/dataframe-api.html#dask.dataframe.read_csv 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 http://dask.pydata.org/en/latest/dataframe-overview.html )


The npartitionsproperty 是组成单个 Dask 数据帧的 Pandas 数据帧的数量。这主要通过两种方式影响性能。

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

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

您可以在数据摄取时使用以下参数确定分区数量:blocksize= in read_csv(...)或者之后使用.repartition(...) method.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

npartitions 在 Dask 数据框中的作用是什么? 的相关文章

随机推荐