A data engineering team runs distributed jobs in Apache Spark and wants to read large datasets from Snowflake into Spark DataFrames and write transformed results back to Snowflake efficiently. Which Snowflake component supports this integration?
- AThe Snowflake Connector for Python, because Spark jobs import it to read Snowflake tables into distributed DataFrames and write the transformed partitions back into Snowflake at scale
- BThe Snowflake Spark connector, because Spark jobs use it to read Snowflake tables into DataFrames and write transformed results back to Snowflake using bulk transfer through internal stages Correct
- CThe Snowflake ODBC driver, because Spark jobs load it to read Snowflake tables into distributed DataFrames and write transformed partitions back into Snowflake across the cluster
- DA row access policy, because Spark jobs attach one to read Snowflake tables into distributed DataFrames and write the transformed partitions back into Snowflake across the cluster
Why A is wrong: The Python connector serves single Python applications running SQL, not distributed Spark DataFrame jobs, so it is not the integration designed to move data between Spark and Snowflake.
Why B is correct: The Spark connector lets Spark jobs read Snowflake tables into DataFrames and write results back, using bulk staging for efficient large transfers, which matches the distributed workload exactly.
Why C is wrong: The ODBC driver provides SQL connectivity for applications and BI tools, not the DataFrame integration Spark uses, so it is not the component built for Spark workloads.
Why D is wrong: A row access policy filters which rows a query returns and is not a connectivity component, so it cannot move data between Spark DataFrames and Snowflake.