AWS Glue Pipelines
Official · maintained by Marmotmarmotdata/gluepipeline Discover workflows, tasks and run history from AWS Glue
The Glue Pipelines plugin discovers AWS Glue workflows as Pipeline assets, their steps as Task assets, and the run history of the workflows, jobs and crawlers in the account.
It shares the Glue provider with the Glue plugin, so a workflow step links to the job or crawler asset that plugin already created rather than a copy of it. This plugin creates no Job, Crawler, Database or Bucket assets, only the lineage edges and the run history that point at them.
Required Permissions
AWS Configuration
See AWS Configuration for the supported AWS configuration options.
Tests
Unit tests need nothing. The end-to-end tests run against a Glue endpoint:
docker run -d --name marmot-test-gluepipeline -p 15560:5000 motoserver/moto:latest
MARMOT_TEST_GLUEPIPELINE_ENDPOINT=http://localhost:15560 go test ./...
In the UI
Point-and-click, no config file needed.
- 1 Open Runs Create pipeline
- 2 Pick AWS Glue Pipelines from the plugin list.
- 3 Fill in the wizard, set a schedule, save.
With the CLI
Save a YAML config, then run marmot ingest.
name: my-gluepipeline-pipeline
runs:
- gluepipeline:
# No required fields — see the Configuration tab.$ marmot ingest -c ingest.yamlNot using plugins? Other ways to populate Marmot
Configuration
11 top-level fields. * marks required fields.
tags multiselect Tags to apply to discovered assets
external_links object[] External links to show on all assets
name string Display name for the link
icon string Icon identifier for the link
url string URL to the external resource
filter object Filter discovered assets by name (regex)
include multiselect Include patterns for resource names (regex)
exclude multiselect Exclude patterns for resource names (regex)
credentials object AWS credentials configuration
use_default bool Use AWS credentials from environment or default profile (recommended)
- default
- true
id string AWS access key ID
secret password AWS secret access key
token password AWS session token
profile string AWS profile to use from shared credentials file
role string AWS IAM role ARN to assume
role_external_id string External ID for cross-account role assumption
region string AWS region for services
endpoint string Custom endpoint URL for AWS services
tags_to_metadata bool Convert AWS tags to Marmot metadata
include_tags multiselect List of AWS tags to include as metadata. By default, all tags are included.
include_workflows bool Whether to discover Glue workflows
- default
- true
include_triggers bool Whether to read trigger definitions
- default
- true
include_run_history bool Whether to collect workflow, job and crawler runs
- default
- true
run_history_limit int How many recent runs to read per workflow, job and crawler
- default
- 20
include_crawlers bool Whether to read crawlers for lineage and runs
- default
- true
Assets emitted
Metadata this plugin attaches to each discovered asset.
Pipeline
PipelineFieldsThe metadata a workflow Pipeline asset carries.
description stringWorkflow description
default_run_properties stringRun properties every run starts with, as key=value pairs
created_on stringWhen the workflow was created
last_modified_on stringWhen the workflow was last changed
max_concurrent_runs intHow many runs may overlap
node_count intNumber of steps in the workflow
job_count intNumber of job steps
crawler_count intNumber of crawler steps
trigger_count intNumber of trigger steps
last_run_id stringIdentifier of the most recent run
last_run_status stringStatus of the most recent run
last_run_started stringWhen the most recent run started
last_run_completed stringWhen the most recent run finished
last_run_statistics stringAction counters of the most recent run, as key=value pairs
region stringAWS region the workflow lives in
url stringAWS console link to the workflow
Task
TaskFieldsThe metadata a workflow step Task asset carries.
workflow stringWorkflow the step belongs to
node_name stringStep name inside the workflow
node_type stringStep kind (job, crawler, trigger)
unique_id stringIdentifier AWS gives the step in the run graph
job stringGlue job the step runs
job_type stringJob command (glueetl, pythonshell, gluestreaming)
job_script_location stringLocation of the job script
crawler stringGlue crawler the step runs
trigger_type stringTrigger kind (SCHEDULED, CONDITIONAL, ON_DEMAND, EVENT)
trigger_schedule stringCron expression of a scheduled trigger
trigger_state stringTrigger state reported by AWS
trigger_predicate stringWhat a conditional trigger waits for
trigger_actions stringJobs and crawlers the trigger starts
Run Facet
RunFacetFieldsThe facets attached to run history events.
state stringJob or crawler run state reported by AWS
status stringWorkflow run status reported by AWS
statistics stringAction counters of a workflow run
execution_time_seconds intHow long a job run took
attempt intRetry attempt number of a job run
trigger stringTrigger that started the job run
worker_type stringWorker size the job run used
number_of_workers intWorkers the job run used
dpu_hour floatDPU hours a crawl consumed
summary stringWhat a crawl changed
log_group stringCloudWatch log group of a crawl
error_message stringError reported by a failed run