Dagster

repository·master·Indexed 12 days ago

https://github.com/dagster-io/dagster

An orchestrator for data assets. This documentation includes guides on building and running the documentation site via Docusaurus and Sphinx, using the dagster-airlift package to unify Airflow instances, and various starter kits for dbt and dynamic partitions.

Tokens
654.3K
Snippets
2.2K
Records
3.5K
Agent score
96%

What's inside Dagster

  1. Overview of the dagster-dg-cli tool

    master

    The dg CLI tool is used for managing Dagster environments. Its primary capabilities include:

    • Entity Management: Scaffolding, checking, and listing Dagster entities.
    • Pipeline Execution: Running pipelines within a local Dagster instance.
    • Dagster Plus Interaction: Interacting with Dagster Plus via REST-style API commands.

    Note: For REST-style API interactions, dg relies on the dagster-rest-resources library. If you need to implement a new CLI command that requires new API calls, you must first add those calls to dagster-rest-resources before calling them from dg.

  2. Overview of Dagster core capabilities

    master

    Dagster is a cloud-native data pipeline orchestrator designed for the entire data development lifecycle. Its core value propositions include:

    • Productivity Platform: Uses a declarative approach to identify and build data assets, supporting CI/CD best practices and reusable components.
    • Orchestration Engine: A robust, multi-tenant, and multi-tool engine capable of scaling technically and organizationally.
    • Unified Control Plane: Provides a centralized location for metadata, observability, diagnostics, cataloging, and lineage to manage data complexity.
    • Modern Data Stack Integrations: Offers a library of integrations for popular data tools to allow deployment within existing infrastructures.
  3. Overview of dagster-rest-resources

    master

    dagster-rest-resources is a library that exposes Dagster functionality as REST-style resources. It primarily works by wrapping Dagster's GraphQL API, though some resources (like artifact) may interact directly with other services like S3.

    Code Organization

    • api/: Contains the REST-style interface classes used by library consumers.
    • queries/: Contains GraphQL queries used for internal code generation.
    • schemas/: Contains Pydantic response models returned by the API classes.
    • gql_client.py: Handles GraphQL calls.
    • s3_client.py: Handles S3 calls.
  4. Overview of Dagster+ AI capabilities

    master

    Dagster+ AI is a suite of features designed to help users detect, understand, and resolve pipeline failures through a combination of conversational debugging, proactive monitoring, and automated code fixes.

    Key capabilities include:

    • Conversational Debugging: Use the AI chat to summarize run failures, identify root causes, and ask follow-up questions.
    • Proactive Monitoring: The system periodically scans deployments to identify failure patterns and automatically creates Issues.
    • Automated Agent Dispatch: From an existing Issue, you can dispatch an AI coding agent to generate a fix and submit it as a GitHub pull request.
  5. Overview of Dagster observability features

    master

    Dagster provides a suite of observability tools designed to improve real-time understanding of data health, operational metrics, and historical trends. These features help users monitor, troubleshoot, and explore data workflows.

    Key observability capabilities include:

    • Alerts (Dagster+): Notifications for critical events like asset health status changes or freshness policy violations.
    • Asset Catalog (Dagster+): A centralized view of assets organized by compute kind, asset group, code location, tags, and owners, supporting custom dashboards.
    • Asset Freshness Policies: Mechanisms to ensure critical data remains up-to-date and trustworthy.
    • Asset Health Reporting (Dagster+): Real-time health indicators to identify pipeline performance and reliability issues.
    • Insights (Dagster+): Dashboard-style views of platform health, surfacing metrics such as success rate, freshness hit rate, and time to resolution.
  6. Overview of Dagster+ deployment options

    master

    Dagster+ is a managed orchestration platform built on top of the Dagster open-source engine. It manages the Dagster web UI (at https://dagster.plus), metadata stores for data cataloging and cost insights, and backend services for orchestration and alerting.

    There are two primary deployment flavors:

    1. Dagster+ Serverless: A fully managed offering where your Dagster code executes directly in the Dagster+ environment.
    2. Dagster+ Hybrid: You run your own execution environment that connects to the Dagster+ control plane.

    Both options offload the management of the orchestration control plane from your team.

  7. Overview of Dagster

    master

    Dagster is a data orchestrator designed for data engineers. It provides an integrated approach to data workflows through:

    • Integrated Lineage: Visualizing how data flows through your system.
    • Observability: Monitoring the health and status of your data processes.
    • Declarative Programming Model: Defining what your data should look like rather than just the steps to get there.
    • Testability: Built-in support for testing data pipelines and logic.
  8. Overview of Dagster & Airlift integration

    master

    Airlift is a toolkit designed to integrate Dagster with Airflow. It is provided via the dagster-airlift package.

    Key capabilities include:

    • Observability: Observe Airflow instances directly from within the Dagster UI.
    • Migration: Accelerate the transition of Airflow DAGs to Dagster assets using opinionated tooling.
    • Federation: Use Dagster as a centralized control plane to observe DAGs from multiple Airflow instances and federate execution between them.
  9. Overview of project_atproto_dashboard features

    master

    The project_atproto_dashboard is an end-to-end demonstration project that showcases the following workflow:

    1. Data Ingestion: Ingesting data-related Bluesky posts from the ATProto API using:
      • Dynamic partitions for scalable data handling.
      • Declarative automation for orchestration.
      • Concurrency limits to respect API constraints.
    2. Data Modeling: Using dbt to transform the ingested data.
    3. Data Visualization: Presenting the modeled data in a Power BI dashboard.