ADA-C01 Question 267
Select 2Differentiate between user-managed and Snowflake-managed tasks and identify use casesA data engineering team is redesigning its scheduled pipelines in Snowflake. One task runs every 5 minutes to upsert a small number of rows from a stream into a reporting table, and the workload is usually light but can occasionally spike. Another task launches a complex transformation that must run on a dedicated, size-controlled warehouse because the team needs predictable compute sizing and wants the warehouse to be shared with other scheduled jobs. The administrator wants to minimize operational overhead where possible but still preserve explicit warehouse control for the heavy job. Which TWO task configurations best meet these requirements?
- A
Configure the lightweight 5-minute task as a serverless task and let Snowflake manage compute for the task runs.
- B
Configure the lightweight 5-minute task to use a user-managed virtual warehouse because all scheduled tasks require a warehouse.
- C
Configure the complex transformation task as a user-managed task that specifies a virtual warehouse sized according to the job's performance requirements.
- D
Configure the complex transformation task as a serverless task because serverless tasks are the only option that supports predictable warehouse sizing and warehouse sharing.
- E
Configure both tasks as serverless tasks because Snowflake-managed compute is required for any task that reads from streams.
Show answer and explanation
Correct answers: A, C
Explanation
Snowflake tasks can be configured in two broad ways: user-managed tasks, which run on a specified virtual warehouse, and Snowflake-managed (serverless) tasks, where Snowflake provisions compute automatically for task execution. The key differentiation is operational control versus reduced administration. Use serverless tasks when you want less overhead and do not need to manage a warehouse for the task. Use user-managed tasks when you need explicit control over warehouse size, sharing, performance characteristics, and cost allocation to a known warehouse. In this scenario, the small frequent stream-processing task is a good serverless use case, while the heavy transformation that requires a dedicated, size-controlled warehouse is a clear user-managed use case. This aligns with Snowflake documentation and best practices around choosing serverless tasks for simplified operations and user-managed tasks for explicit warehouse governance and predictable warehouse-based execution.
- A. Correct.
Correct. Snowflake-managed tasks, commonly referred to as serverless tasks, are a strong fit for lightweight, intermittent, or variable workloads when the goal is to reduce operational overhead. In this model, Snowflake provisions and manages compute resources for the task run, so the administrator does not need to assign or manage a warehouse for that task. This is especially useful for a small stream-processing task that runs frequently and does not need dedicated warehouse control.
- B. Incorrect.
Incorrect. Scheduled tasks do not all require a user-managed warehouse. Snowflake supports serverless tasks, where compute is managed by Snowflake instead of a customer-specified virtual warehouse. A candidate might choose this option if they assume tasks behave like queries executed manually, but tasks can be either user-managed or Snowflake-managed depending on how they are configured.
- C. Correct.
Correct. User-managed tasks are appropriate when administrators need explicit control over the virtual warehouse used for execution, including warehouse size, scaling behavior, cost attribution, and possible sharing with other workloads. In this scenario, the complex transformation requires predictable sizing and use of a dedicated warehouse shared with other scheduled jobs, which aligns with a user-managed task.
- D. Incorrect.
Incorrect. This reverses the distinction between serverless and user-managed tasks. Serverless tasks do not let the administrator choose a specific virtual warehouse to share with other jobs, nor are they the mechanism for explicit warehouse sizing. A candidate may pick this option if they confuse Snowflake-managed compute with better performance control, but warehouse-level control is a reason to use user-managed tasks instead.
- E. Incorrect.
Incorrect. Tasks that read from streams are not required to use Snowflake-managed compute. Both user-managed and Snowflake-managed tasks can be used with stream-based processing patterns, depending on operational and performance requirements. This distractor targets the misconception that stream consumption dictates the compute model.