COF-C03 Question 231
Single answerSnowpipe streamingA retail company ingests clickstream events from its web applications and needs the data to be queryable in Snowflake within seconds. The engineering team wants to avoid managing cloud storage stages and file-notification services, and they also want to minimize latency caused by micro-batch file creation. Which approach best meets these requirements?
- A
Use Snowpipe Streaming so the application writes rows directly to Snowflake-managed ingestion without first landing files in an external stage.
- B
Use standard Snowpipe with Amazon S3 and configure auto-ingest notifications, because Snowpipe is designed for row-by-row ingestion with no file dependencies.
- C
Use a COPY INTO command on a schedule against an internal stage, because scheduled batch loads provide the lowest possible latency for event-by-event ingestion.
- D
Use dynamic tables to capture the clickstream events directly from the application, because dynamic tables are designed to ingest streaming source records.
Show answer and explanation
Correct answer: A
Explanation
The best answer is Snowpipe Streaming because it is designed for high-throughput, low-latency ingestion directly into Snowflake without requiring files to be staged first. In contrast, standard Snowpipe is file-based: data lands in internal or external stages and is then loaded automatically, commonly using cloud event notifications for auto-ingest. That model is effective for automated file ingestion but does not eliminate file management overhead or micro-batch latency. COPY INTO is also file-based and more explicitly batch-oriented. Dynamic tables are not ingestion tools; they help maintain derived datasets from already ingested data. For SnowPro Core, candidates should distinguish between file-based ingestion options such as COPY INTO and Snowpipe, versus direct-row low-latency ingestion with Snowpipe Streaming.
- A. Correct.
Correct. Snowpipe Streaming is intended for low-latency ingestion of rows into Snowflake without the need to stage files in cloud storage first. This directly addresses the team's goals: near-real-time availability, no management of external stages or event notifications, and reduced latency compared with micro-batch file creation. This is the practical choice when an application or connector can push records directly for ingestion.
- B. Incorrect.
Incorrect. Standard Snowpipe relies on files being placed in a stage and then loaded, often with auto-ingest notifications from cloud messaging services. While it is automated and near real time for file-based ingestion, it is not a row-by-row ingestion mechanism that avoids file dependencies. This option conflicts with the requirement to avoid managing cloud storage stages and notification infrastructure.
- C. Incorrect.
Incorrect. COPY INTO is a batch loading mechanism. Even if scheduled frequently, it still depends on staged files and introduces more operational overhead and latency than Snowpipe Streaming for event-driven row ingestion. It does not meet the requirement to minimize latency caused by file creation and scheduling.
- D. Incorrect.
Incorrect. Dynamic tables are used to incrementally transform and materialize query results from existing tables or other supported sources inside Snowflake. They are not an ingestion mechanism for receiving records directly from applications. A candidate might choose this if they confuse transformation/orchestration features with data ingestion features.