我看到参数了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 npartitions
property 是组成单个 Dask 数据帧的 Pandas 数据帧的数量。这主要通过两种方式影响性能。
- 如果您没有足够的分区,那么您可能无法有效地使用所有核心。例如,如果您的 dask.dataframe 只有一个分区,那么一次只能有一个核心运行。
- 如果分区太多,那么调度程序可能会产生大量开销来决定在哪里计算每个任务。
通常,您需要的分区数比核心数多几倍。每个任务在调度程序中占用几百微秒。
您可以在数据摄取时使用以下参数确定分区数量:blocksize=
in read_csv(...)
或者之后使用.repartition(...)
method.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)