當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。