Dask Bags 到 return Dask Bags 可以吗?

Is it ok for Dask Bags to return Dask Bags?

dask.bag 到 return/concat 其他袋子是否符合犹太洁食标准?

有什么优点/缺点吗?

举个简单的例子:

import dask.bag as bag

bg = (bag.from_sequence(['a', 'b', 'c'])
         .map(lambda letter: bag.from_sequence([f'{letter} - 1', 
               f'{letter} - 2']))
         .fold(lambda x, y: bag.concat((x, y)))
         .compute())
bg.compute()

>>> ['a - 1', 'a - 2', 'b - 1', 'b - 2', 'c - 1', 'c - 2']

我能想到的一些陷阱:

对优点有什么想法吗?

这绝对是一个 anti-pattern - 显然,您至少会在非常不同的 size-scales 上处理分区。您还会在内部计算上遇到瓶颈。通常,Dask 集合旨在处理核心数据类型,对于 bag 来说,这意味着您使用正常的 iterator/toolz 操作(bag API 主要是从中复制的)。