CertKeen

SnowPro Advanced: Data Engineer · Free practice question 1 of 10

Snowpark lazy evaluation

A Data Engineer builds a Snowpark Python transformation that reads from a source table, joins it to a dimension table, and applies several filters. The script constructs the DataFrame but never calls .show(), .collect(), .save_as_table(), or any other action method. What is true about how Snowflake handles this code?

  1. A.The transformations execute eagerly on the compute layer and their results are cached on the client side.
  2. B.No SQL is sent to Snowflake — the DataFrame is a lazy plan that only compiles and executes when an action is invoked.
  3. C.Joins execute on the driver client while filters push down to Snowflake.
  4. D.Filters push down but joins wait for an explicit .execute() call.
Show answer and explanation

Correct answer: B. No SQL is sent to Snowflake — the DataFrame is a lazy plan that only compiles and executes when an action is invoked.

Why: Snowpark uses lazy evaluation. Building a DataFrame only assembles a logical plan; no SQL is emitted until an action method (collect, show, save_as_table, count, etc.) is called. This is intentional — it lets the Snowpark optimizer combine transformations into a single pushed-down query rather than issuing one request per transformation.

More free SnowPro Advanced: Data Engineer questions