# job

> Execute a named Spark or BigQuery job with configurable options, parameters, and interactive output formats.

## Synopsis

**starlake job [options]**

## Description
Execute a SQL or Python transformation task. Starflow resolves dependencies, compiles queries with variable substitutions, and writes results to the target table. Use `--recursive` for upstream dependencies. See [Transform Guide](/starflow/guides/transform/tutorial).

## Parameters

Parameter|Cardinality|Description
---|---|---
--action `<value>`|*Optional*|May take one of run (default) or create. When action is set to 'create', only parameters 'name' and 'query' are meaningful
--name `<value>`|*Required*|Task Name in the form domain.task
--compile `<value>`|*Optional*|Return final query only
--sync-apply `<value>`|*Optional*|Update YAML attributes to match SQL query
--sync-preview `<value>`|*Optional*|Preview YAML attributes to match SQL query
--query `<value>`|*Optional*|if action is 'create', this is the query used to initialize th SQL file. If action is set to 'run', run this query instead of the one in the task
--dry-run `<value>`|*Optional*|Dry run only (supported on BigQuery only)
--tags `<value>`|*Optional*|Return final query only
--format `<value>`|*Optional*|pretty print the final query and update sql file
--interactive `<value>`|*Optional*|Run query without sinking the result. Valid parameters are: `csv`, `json`, `table`, `json-array`
--reload `<value>`|*Optional*|Reload YAML  files. Used in server mode
--truncate `<value>`|*Optional*|Force table to be truncated before insert. Default value is false
--pageSize `<value>`|*Optional*|Force table to be truncated before insert. Default value is false
--pageNumber `<value>`|*Optional*|Force table to be truncated before insert. Default value is false
--recursive `<value>`|*Optional*|Execute all dependencies recursively. Default value is false
--test `<value>`|*Optional*|Should we run this transform as a test ? Default value is false
--accessToken `<value>`|*Optional*|Access token to use for authentication
--options `k1=v1,k2=v2...`|*Optional, Unbounded*|Job arguments to be used as substitutions
--scheduledDate `<value>`|*Optional*|Scheduled date for the job, in format yyyy-MM-dd'T'HH:mm:ss.SSSZ
--reportFormat `<value>`|*Optional*|Report format: console, json, html
