Skip to content

Commit bb0aef0

Browse files
fjetterphofl
andauthored
Use Taskspec fuse implementation (#1162)
Co-authored-by: Patrick Hoefler <[email protected]>
1 parent 4cb1320 commit bb0aef0

File tree

1 file changed

+2
-17
lines changed

1 file changed

+2
-17
lines changed

dask_expr/_expr.py

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3766,31 +3766,16 @@ def _broadcast_dep(self, dep: Expr):
37663766

37673767
def _task(self, name: Key, index: int) -> Task:
37683768
internal_tasks = []
3769-
seen_keys = set()
3770-
external_deps = set()
37713769
for _expr in self.exprs:
37723770
if self._broadcast_dep(_expr):
37733771
subname = (_expr._name, 0)
37743772
else:
37753773
subname = (_expr._name, index)
37763774
t = _expr._task(subname, subname[1])
3775+
37773776
assert t.key == subname
37783777
internal_tasks.append(t)
3779-
seen_keys.add(subname)
3780-
external_deps.update(t.dependencies)
3781-
external_deps -= seen_keys
3782-
dependencies = {dep: TaskRef(dep) for dep in external_deps}
3783-
t = Task(
3784-
name,
3785-
Fused._execute_internal_graph,
3786-
# Wrap the actual subgraph as a data node such that the tasks are
3787-
# not erroneously parsed. The external task would otherwise carry
3788-
# the internal keys as dependencies which is not satisfiable
3789-
DataNode(None, internal_tasks),
3790-
dependencies,
3791-
(self.exprs[0]._name, index),
3792-
)
3793-
return t
3778+
return Task.fuse(*internal_tasks, key=name)
37943779

37953780
@staticmethod
37963781
def _execute_internal_graph(internal_tasks, dependencies, outkey):

0 commit comments

Comments
 (0)