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.| State | Description |
|---|---|
pending | Job is queued and waiting for execution |
running | Job is currently being executed |
completed | Job finished successfully |
pending_cancellation | Job is marked for cancellation but still running |
cancelled | Job was cancelled before completion |
failed | Job execution failed |
Core job structure
All jobs share common fields that identify and track them through the system.| Field | Description |
|---|---|
id | Unique identifier for the job |
type | Job type string that determines routing and execution |
state | Current lifecycle state |
company_id | Company that owns the job |
data_plane_id | Target data plane for execution (if specified) |
created_at | When the job was created |
updated_at | When the job was last modified |
completed_at | When the job finished (if applicable) |
failures | List of failure records if the job encountered errors |
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 PlaneInput example
Input example
Output example
Output example
forecast-internal
This is an internal job type used by the system. You may see it in job listings but cannot create it directly.
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example (success)
Output example (success)
Output example (failure)
Output example (failure)
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
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 PlaneInput example
Input example
Output example
Output example
System jobs
Administrative jobs that support platform operations.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.
materialize-view job completes to track data consumption from different access rules and generate billing records.
Executor: Spark Data Plane
Input example
Input example
Output example
Output example

