上下文:
Dask文档明确指出Bag.take()
只会从第一个分区收集。但是,使用过滤器时,可能会出现第一个分区为空,而其他分区为空。
问题:
是否可以使用Bag.take()
以便从足够数量的分区中收集以收集n
项(或最小可用小于n
)。
答案 0 :(得分:1)
您可以执行以下操作:
from toolz import take
f = lambda seq: list(take(n, seq))
b.reduction(f, f)
这会抓取每个分区的前n个元素,将它们全部收集起来,然后获取结果的前n个元素。