Skip to main content
The job queue coordinates work between the control plane and data planes. This reference describes the different types of jobs that flow through the queue.

Overview

Jobs are the unit of work exchanged between the control plane and data plane operators. When the control plane needs something executed in a data plane, it creates a job and enqueues it. Data plane operators poll the queue, claim jobs, execute them, and report results.

Job states

Every job progresses through a lifecycle tracked by its state.

Core job structure

All jobs share common fields that identify and track them through the system.

Forecasting jobs

Jobs that estimate data volumes and costs before committing to operations.

forecast

Estimates data volumes and costs for a marketplace subscription before purchase. This job runs when you preview a subscription in the marketplace or use the forecasting API. It samples data to quickly estimate costs without scanning the full dataset. Executor: Spark Data Plane

forecast-internal

This is an internal job type used by the system. You may see it in job listings but cannot create it directly.
Internal variant of the forecast job used for unsampled follow-up forecasts and accuracy comparisons. This job runs automatically after a sampled forecast job completes when the system needs precise cost estimates. It uses the same input and output format as the forecast job. Executor: Spark Data Plane

costs

Calculates scan costs for a subscription query without performing a full forecast. This job provides a quick cost estimate by analyzing the query plan without sampling data. It’s faster than a full forecast but provides less detail. Executor: Spark Data Plane

nql-forecast

Executes an NQL forecast query to estimate results without materializing data. This job runs when you preview an NQL query to see estimated row counts and structure before creating a materialized view. Executor: Spark Data Plane

Materialization jobs

Jobs that execute queries and persist results to datasets.

materialize-view

Executes NQL to refresh a materialized view dataset. This is the core job type for dataset refreshes. It runs the compiled query against source data and writes results to the target dataset as an Iceberg table snapshot. Executor: Spark Data Plane
Related: Materialized Views, Query Processing

Dataset operations

Jobs that manage dataset tables and data within the data plane.

datasets_create_table

Creates a new table in the data plane for a dataset. This job runs when provisioning a new dataset. It creates the underlying Iceberg table in the company’s schema. Executor: Snowflake Data Plane

datasets_delete_table

Deletes a dataset’s table from the data plane. This job runs when deprovisioning a dataset. It drops the table and removes associated Iceberg metadata. Executor: Snowflake Data Plane

datasets_truncate_table

Truncates all data from a dataset’s table while preserving the table structure. This job removes all rows from the dataset but keeps the schema intact for future use. Executor: Snowflake Data Plane

datasets_sample

Generates a sample of data from a dataset for preview purposes. This job retrieves a small subset of rows—including any Rosetta Stone normalized attributes—for display in the UI. The sample data is stored separately from the main dataset. Executor: Snowflake Data Plane, AWS Data Plane
Related: Data Flow, Managing Datasets

datasets_calculate_column_stats

Calculates column-level statistics for a dataset. This job computes statistics like null counts, value ranges, distinct counts, and histograms. Stats are persisted to the dataset metrics store for use in query optimization and data profiling. Executor: Snowflake Data Plane

datasets_execute_dml

Executes a DML statement against a dataset. This job handles INSERT, UPDATE, DELETE, and MERGE operations on dataset tables. Executor: Snowflake Data Plane

Model operations

Jobs that run inference and train machine learning models.

model_inference_run

Runs inference using a large language model (LLM). This job sends prompts to models from Anthropic (Claude) or OpenAI and returns structured output. All inference runs within the data plane—no data is sent to external providers. Executor: AWS Data Plane
Related: Model Inference Overview, Running Model Inference, Supported Models

model_training_run

Executes a model fine-tuning job. This job trains a custom model using a base model and your training dataset. The fine-tuned model is stored in the Narrative model repository. Executor: AWS Data Plane

models_train_classifier

Trains a classifier model using Snowflake’s built-in ML capabilities. This job uses Snowflake-native training to build classification models directly in the data plane. Executor: Snowflake Data Plane

models_deliver_model

Delivers a trained model to an external destination. This job exports a model from the Narrative repository to destinations like HuggingFace Hub. Executor: AWS Data Plane

System jobs

Administrative jobs that support platform operations.

health_check

Validates the operational health of a data plane and its compute pools. You can trigger a health check through the Run health check action on the My Data Planes list or Jobs page in the Dashboard, or through the POST /data-planes/{data_plane_id}/health-check API endpoint. You can optionally target a specific compute pool via the API. What it checks depends on the data plane type:
  • Snowflake data planes: Verifies that each registered warehouse (compute pool) still exists and is accessible. If a warehouse reference is no longer valid, the corresponding compute pool is automatically archived. When an archived pool was the default, the system elects another active pool as the new default.
  • AWS data planes: Validates cross-account IAM trust relationships using STS AssumeRole and verifies effective permissions by simulating attached IAM policies for each operator subsystem.
Executor: Data plane operator (Snowflake Native App or AWS operator)
If compute_pool_id is omitted, the data plane’s default compute pool is used.

materialized_views_collect_access_rules_billing_data

This is an internal system job. You may see it in job listings but it runs automatically as part of materialized view refreshes.
Collects billing data for access rules associated with a materialized view refresh. This job runs after a materialize-view job completes to track data consumption from different access rules and generate billing records. Executor: Spark Data Plane

Query Processing

How queries flow through the job queue to execution

Data Planes

Where jobs are executed by operators

Tracking Job Status

Monitor jobs and handle completion events

Data Flow

How data moves through the system