Skip to main content
Version: Preview

Dagster

Experimental
Creates:
AssetsLineageRun History

Configure in the UI

This plugin can be configured directly in the Marmot UI with a step-by-step wizard.

View Guide

The Dagster plugin discovers jobs, the ops inside them, and software-defined assets from a Dagster webserver. Everything is read through the GraphQL endpoint at {host}/graphql, so the same configuration works against open source Dagster and Dagster+.

Prerequisites

  • A reachable Dagster webserver
  • For Dagster+, an API token with read access. The plugin sends it as the Dagster-Cloud-Api-Token header.

What it creates

  • A Pipeline per job, named after the job. Schedules, sensors and a summary of the recent runs are attached as metadata. Dagster's implicit asset jobs, the ones named __ASSET_JOB, are skipped.
  • A Task per op, named <job>/<op handle>.
  • A Dataset per software-defined asset, named after its asset key joined with /. A TableSchema metadata entry becomes the asset's columns, and any other metadata a user attached is flattened alongside the fields below.

Pipelines contain their Tasks, Tasks depend on the Tasks feeding their inputs, Datasets feed the Datasets built from them, and a Pipeline produces every Dataset it materialises.

Warehouse lineage

When an asset's compute kind is Snowflake, BigQuery, Postgres or DuckDB and it names a full database, schema and table, the Dataset also produces that native table. The edge lands only if the matching plugin has already discovered the table.

Example Configuration


host: "http://localhost:3000"
token: "${DAGSTER_CLOUD_API_TOKEN}"
verify_ssl: true
include_ops: true
include_assets: true
include_run_history: true
run_history_limit: 10
code_locations:
- "analytics"
filter:
include:
- "^orders_.*"
exclude:
- ".*_test$"
tags:
- "dagster"
- "orchestration"

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
code_locations[]stringfalseOnly discover these code locations. Empty means all of them
external_links[]ExternalLinkfalseExternal links to show on all assets
filterFilterfalseFilter discovered assets by name (regex)
hoststringtrueDagster webserver URL, for example http://localhost:3000
include_assetsboolfalseDiscover software-defined assets as Dataset assets
include_opsboolfalseDiscover the ops inside each job as Task assets
include_run_historyboolfalseCollect recent runs of each job
run_history_limitintfalseHow many recent runs to read per job
tagsTagsConfigfalseTags to apply to discovered assets
tokenstringfalseDagster+ API token
verify_sslboolfalseCheck the server's TLS certificate

Available Metadata

The following metadata fields are available:

FieldTypeDescription
asset_key[]stringAsset key path as declared in Dagster
code_locationstringCode location serving the job or asset
column_namestringColumn name
compute_kindstringTechnology that computes the asset, for example duckdb
data_typestringColumn data type as declared in the table schema
descriptionstringJob, op or asset description
groupstringAsset group the asset belongs to
handle_idstringPath to the op within the job graph
input_countintNumber of inputs the op declares
is_asset_jobboolWhether the job exists to materialise assets
is_nullableboolWhether null values are allowed
is_partitionedboolWhether the asset is partitioned
jobstringJob the op belongs to
job_idstringDagster's internal identifier for the job
job_names[]stringJobs that can materialise the asset
last_materialization_runstringRun that produced the most recent materialization
last_materialized_atstringTime of the most recent materialization
last_run_atstringStart time of the most recent run
last_run_statusstringStatus of the most recent run
opstringName of the op definition
op_countintNumber of ops in the job
op_names[]stringOps that compute the asset
output_countintNumber of outputs the op declares
repositorystringRepository the job or asset is defined in
run_countintNumber of runs read for this job
schedules[]objectSchedules that launch the job, with cron expression and status
sensors[]objectSensors that launch the job, with status
success_ratefloat64Percentage of finished runs that succeeded
tagsobjectJob tags, keyed by tag name
urlstringLink to the job, op or asset in the Dagster UI