我想从生成器列表中创建一个dask.Bag
(或)。dask.Array
问题是生成器(在评估时)对于内存来说太大了。
delayed_array = [delayed(generator) for generator in list_of_generators]
my_bag = db.from_delayed(delayed_array)
注意list_of_generators
就是这样 - 发电机还没有被消耗(还)。
我的问题是,在创建delayed_array
生成器时会消耗掉并且 RAM 已经耗尽。有没有办法在Bag
不首先使用它们的情况下将这些长列表放入其中,或者至少以块的形式使用它们以保持较低的 RAM 使用率?
NNB 我可以将生成器写入磁盘,然后将文件加载到磁盘中Bag
- 但我想我可以用它dask
来解决这个问题?