我在许多函数中看到了参数npartitions
,但我不明白它对什么有用。
http://dask.pydata.org/en/latest/dataframe-api.html#dask.dataframe.read_csv
头(...)
元素仅取自第一个npartitions,默认值为1.如果第一个npartitions中少于n行,则会引发警告并返回找到的所有行。传递-1以使用所有分区。
重新分区(...)
输出的分区数,必须小于输入的npartitions。仅在未指定分割时使用。
在这种情况下,分区数量可能是5:
(图片来源:http://dask.pydata.org/en/latest/dataframe-overview.html)
答案 0 :(得分:6)
npartitions
属性是组成单个Dask数据帧的Pandas数据帧的数量。这会以两种主要方式影响性能。
通常,您希望分区数比核心分区多几倍。每个任务在调度程序中占用几百微秒。
您可以使用blocksize=
中的read_csv(...)
之类的参数或之后使用.repartition(...)
方法确定数据提取时间内的分区数。