Eunice
06/18/2021, 10:22 PMEunice
06/21/2021, 5:37 PMrex
07/12/2021, 6:55 PMcat
07/13/2021, 3:58 PMowen
07/20/2021, 10:32 PMrex
07/21/2021, 10:40 PMsandy
08/12/2021, 3:59 PM@solid
will become @op
) , unification of concepts such as modes and presets, and separation of DAG definitions from their resources and default config.
Yesterday we published a blog post describing these changes and why we're making them, as well as a migration guide with side-by-side examples. We believe these APIs, and the corresponding Dagit changes, are a huge step forward for testing, elegance, deployment, and verbosity. While currently experimental in Dagster 0.12.x, they'll serve as the foundation of Dagster starting in 0.13.0. We need your feedback to make this awesome. We’d love for you to try them out, and then to tell us how we can improve.schrockn
08/23/2021, 6:03 PMsandy
09/13/2021, 3:52 PMsandy
10/14/2021, 4:23 PM@asset
and build_assets_job
- that enable constructing Dagster jobs that puts assets at the forefront.
A software-defined asset is a description, in code, of how to compute a particular asset - e.g. a table, ML model, or report. It inverts the typical relationship between data products and data pipelines. Instead of defining a graph of ops and recording which assets those ops materialize, you define a set of assets, each of which knows how to compute its contents from upstream assets.
Taking a software-defined asset approach has a few main benefits:
• Write less code - each asset knows about the assets it depends on, so you don't need to use @job
/ @pipeline
to wire up dependencies between your ops.
• Track cross-job dependencies via asset lineage - Dagit shows you the parents and children of assets, even if they live in different jobs. This helps locate the sources of problems and the consequences of changing or removing an asset.
• Learn when you need to take action on an asset - In a unified view, Dagster compares the assets you've defined in code to the assets you've materialized in storage. You can catch when an asset is stale and needs to be regenerated.
• dbt-native orchestration - software-defined assets match the mental model of tools like dbt, making it sensible for Dagster to ingest and orchestrate graphs of dbt models. A dbt model is essentially a software-defined asset.
For a fuller description of the new APIs, including code examples, take a look the Github discussion. For a fuller example, take a look at this asset-based version of the Hacker News demo jobs.
We're very excited about this direction, but it is still early days. We're looking for early design partners to work with us to make this a reality. If you want to take advantage of this approach and help shape the future of the Dagster product, please reach out to either me or Nick directly.chris
10/21/2021, 10:21 PMmax
10/28/2021, 8:57 PMsandy
11/08/2021, 6:07 PMowen
11/11/2021, 6:42 PMcontext
object
📦 Configure instance-wide log handlers for your job runs
🤝 Capture external python logs into the Dagster event stream
Check out the post here!schrockn
11/16/2021, 7:11 PMschrockn
12/02/2021, 7:56 PMmax
12/15/2021, 8:25 PMschrockn
12/23/2021, 11:37 PMjordan
01/18/2022, 4:40 PMsandy
02/07/2022, 5:43 PMclaire
02/17/2022, 10:11 PMTableSchema
API.
Metadata on Dagster Types
Dagster Types can now have attached metadata. This allows TableSchema
objects to be attached to Dagster Types via TableSchemaMetadata.
A Dagster Type with a TableSchema
will have the schema rendered in Dagit.
Op Selection in Subgraphs
Op selection now supports selecting ops inside subgraphs. For example, to select an op my_op
inside a subgraph my_graph
, you can now specify the query as <http://my_graph.my|my_graph.my>_op
. This is supported in both Dagit and Python APIs.
ECSRunLauncher
The ECSRunLauncher is no longer considered experimental. You can bootstrap your own Dagster deployment on ECS using our docker compose example or you can use it in conjunction with a managed Dagster Cloud deployment!
Asset Observations
The new `AssetObservation` event enables recording metadata about an asset without indicating that the asset has been updated.
Op Events Without Yield
Dagster now supports logging AssetMaterialization
, ExpectationResult
and AssetObservation
events via OpExecutionContext.log_event
. Previously, Dagster only supported yielding these events within the body of an op.
Auto-start Sensors and Schedules
Sensors and schedules now include a default_status
parameter. If this parameter is set to RUNNING
, sensors and schedules will default to running as soon as they are loaded in your workspace.
Some screenshots of the new UI:schrockn
02/17/2022, 10:34 PMMollie
03/15/2022, 11:26 PMMollie
03/28/2022, 2:12 PMjosh
03/31/2022, 7:46 PMMollie
03/31/2022, 10:36 PMMollie
04/05/2022, 9:13 PMyuhan
04/06/2022, 5:26 PMMollie
04/11/2022, 10:47 PMMollie
04/12/2022, 10:56 PM