当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.persist用法及代码示例


用法:

dask.persist(*args, traverse=True, optimize_graph=True, scheduler=None, **kwargs)

将多个 Dask 集合持久化到内存中

这会将惰性 Dask 集合转换为具有相同元数据的 Dask 集合,但现在其结果已完全计算或在后台主动计算。

例如,由许多惰性调用构建的惰性 dask.array 现在将是具有相同形状、dtype、块等的 dask.array,但现在所有这些以前的惰性任务都在内存中计算为许多小的 numpy.array(在single-machine情况下)或在集群的后台异步运行(在分布式情况下)。

如果 dask.distributed.Client 存在并连接到分布式调度程序,则此函数的操作方式不同。在这种情况下,该函数将在任务图提交到集群后立即返回,但在计算完成之前。计算将在后台异步继续。当将此函数与单机调度程序一起使用时,它会阻塞,直到计算完成。

在单台机器上使用 Dask 时,您应该确保数据集完全适合内存。

参数

*args: Dask collections
scheduler字符串,可选

要使用哪个调度程序,例如“threads”, “synchronous” or “processes”。如果没有提供,默认是先检查全局设置,然后回退到集合默认值。

traverse布尔型,可选

默认情况下,dask 会遍历内置的 python 集合,寻找传递给 persist 的 dask 对象。对于大型集合,这可能很昂贵。如果没有任何参数包含任何 dask 对象,请设置 traverse=False 以避免执行此遍历。

optimize_graph布尔型,可选

如果为 True [默认],则在计算之前优化图形。否则,图表将按原样运行。这对于调试很有用。

**kwargs

转发到调度程序函数的额外关键字。

返回

in-memory 数据支持的新 dask 集合

例子

>>> df = dd.read_csv('/path/to/*.csv')  
>>> df = df[df.name == 'Alice']  
>>> df['in-debt'] = df.balance < 0  
>>> df = df.persist()  # triggers computation
>>> df.value().min()  # future computations are now fast  
-10
>>> df.value().max()  
100
>>> from dask import persist  # use persist function on multiple collections
>>> a, b = persist(a, b)

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.persist。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。