Replies: 6 comments 7 replies
-
I generally agree with the direction of this proposal. I think it would help on a couple of difficulties I've run into.
My main question is if both |
Beta Was this translation helpful? Give feedback.
-
Hi dagster team! Always wondered why there was the distinction between pipeline and composite solid. This feels much more natural! We are looking forward for this change in the API. |
Beta Was this translation helpful? Give feedback.
-
Definitely a fan. Always thought composite solids were a bit confusing for new users. Prefer the term |
Beta Was this translation helpful? Give feedback.
-
Upvote on this to help move this proposal forward! Also, I just want to mention some experiences, which you probably already know, from Apache Airflow - it has a similar concept as SubDag, and it has been causing a lot of issues because of its complexity. So yeah, strongly support for this unified and simplified concept and APIs. |
Beta Was this translation helpful? Give feedback.
-
It has begun: https://dagster.phacility.com/D4847 |
Beta Was this translation helpful? Give feedback.
-
Update: We have decided to bump this out to the next major release (not 0.10.0) but we anticipate 0.11.0 will be a shorter timeline than 0.10.0. |
Beta Was this translation helpful? Give feedback.
-
Context: At Dagster’s inception, there were only pipelines and solids. Pipelines were the entry point and unit of execution, and solid was a unit of computation/business logic. We decided to add composite solids as a separate unit of composition within a pipeline. In retrospect, both of these decisions appear to have been mistaken. Solids are not executable in the playground but pipelines are. Pipelines support neither inputs, outputs, nor config mapping. We have different UI displays for pipelines and composites. We have unnecessarily divergent python APIs for executing solids and pipelines. And our internal implementation is needlessly complicated.
Our current hierarchy looks like this:
The proposal to merge
@pipeline
and@composite_solid
into a single concept,@graph
. And then also to make@solid
s executable by allowing modes and presets on solids. Therefore graphs and solids are both executable units using a unified API, and support inputs, outputs, and config mapping.Also nicely, using
@graph
lines up with our new messaging around the “orchestration graph”.We believe this will provide value on a number of dimensions:
This is quite an invasive change so we expect to have a longer period of time to migrate
@pipeline
and@composite_solid
to@graph
. Likely one major release without a deprecation warning, then another full cycle with deprecation, then deletion.Beta Was this translation helpful? Give feedback.
All reactions