如何让Dask像PySpark一样执行.head(20)这样的操作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (51)

PySpark中,每当我在一个非常大的数据框上排列一堆复杂的操作df,然后输入:

df.show(20)

Spark只会执行必要的操作以快速返回20条记录进行显示。它不会在数据框的所有行上执行操作

另一方面,当我做同样的事情时:

df.head(20)

Dask实际上会对整个数据帧执行操作,然后返回前20条记录。

Dask方法使得在非常大的数据集上快速迭代想法变得很笨拙。有没有办法通过智能地做足够的事情来让Dask更快地做出反应,以便将检查记录的一部分返回?

提问于
用户回答回答于

以下命令

df.head(20)

只从数据框的第一个分区获取数据,假设它至少有20行。请注意,整个第一个分区将是必需的。究竟需要做什么工作取决于如何df定义,例如:它可能取决于很多复杂的groupby / shuffle操作的输入数据以及正在处理的分区大小。

扫码关注云+社区

领取腾讯云代金券