Python 创建复杂dask图的最简单方法

Python 创建复杂dask图的最简单方法,python,dask,dask-distributed,Python,Dask,Dask Distributed,对某些物体有一个复杂的计算系统。 困难在于有些计算是分组计算 这可以通过以下示例进行说明: 从dask分布式导入客户端 def从_dbid加载_数据: 加载一些数据 ... 返回数据 def任务数据: 一些计算 ... 返回结果 def组任务*参数: 一些计算 ... 返回结果 def任务数据、组数据: 一些计算 ... 返回结果 定义任务\u cdata,任务\u结果 一些计算 ... 返回结果 ids=[1,2] dsk={'id_{}'。formatii:i的id,枚举id中的id} ds

对某些物体有一个复杂的计算系统。 困难在于有些计算是分组计算

这可以通过以下示例进行说明:

从dask分布式导入客户端 def从_dbid加载_数据: 加载一些数据 ... 返回数据 def任务数据: 一些计算 ... 返回结果 def组任务*参数: 一些计算 ... 返回结果 def任务数据、组数据: 一些计算 ... 返回结果 定义任务\u cdata,任务\u结果 一些计算 ... 返回结果 ids=[1,2] dsk={'id_{}'。formatii:i的id,枚举id中的id} dsk['data_0']=从_数据库'id_0'加载_data_ dsk['data_1']=从_数据库'id_1'加载_data_ dsk['task\u a\u result\u 0']=task\u a,'data\u 0' dsk['task_a_结果_1']=task_a,'data_1' dsk[“组结果”]= 小组任务, “数据0”、“任务结果0”, “数据\u 1”、“任务\u结果\u 1” dsk['task_b_结果_0']=task_b,'data_0','group_结果' dsk['task_b_结果_1']=task_b,'data_1','group_结果' dsk['task_c_结果_0']=task_c,'data_0','task_a_结果_0' dsk['task_c_结果_1']=task_c,'data_1','task_a_结果_1' client=Clientscheduler\u地址 结果=client.get dsk, ['task\u a\u result\u 0', “任务结果0”, “任务结果0”, “任务结果1”, “任务结果1”, “任务结果1”] 对象的列表是数千个元素,任务的数量是几十个,包括几个组任务

使用这种图形创建方法,很难修改图形添加新任务、更改依赖项等。。 对于这些上下文,是否有一种更有效的使用dask的分布式计算方法

增加

与期货相关的图表为:

client=Clientscheduler\u地址 ids=[1,2] data=client.mapload_data_from_db,ids 结果_a=client.maptask_a,数据 组参数=列表链*zipdata,结果 结果组=client.submittask组,*组参数 结果\u b=client.maptask\u b,数据,[result\u group]*lenids 结果c=client.maptask,数据,结果a 结果=client.gathereResult\u a+结果\u b+结果\u c
在任务函数中,输入参数是Future instance,然后是arg.result,然后再使用。

如果您想在计算过程中修改计算,我建议使用接口