DAA-C01 Question 3
Single answer1.1 Use a collection system to retrieve data.A retail analytics team needs to collect clickstream events from a cloud object store into Snowflake with the following requirements: new files should be discovered automatically, ingestion should be continuous with minimal operational overhead, and analysts want a reliable way to know which files were loaded and when. Which approach best meets these requirements?
- A
Create an external stage on the object store, configure auto-ingest Snowpipe using cloud messaging, and query COPY_HISTORY to audit which files were loaded.
- B
Create an internal stage, upload files manually with PUT each hour, and use QUERY_HISTORY to determine which source files were ingested.
- C
Use a materialized view on top of the object store location so Snowflake can automatically ingest new files and expose load history.
- D
Run a scheduled task every minute that executes SELECT statements directly against the object store path and use ACCESS_HISTORY to identify loaded files.
Show answer and explanation
Correct answer: A
Explanation
The best answer is to use an external stage plus Snowpipe with auto-ingest. This pattern is purpose-built for collecting data files from cloud storage into Snowflake as they arrive. Auto-ingest relies on cloud messaging/event notifications so Snowflake can detect new files without frequent polling or manual orchestration, reducing operational overhead. To verify what was loaded, Snowflake provides COPY_HISTORY, which is specifically intended to track data loading activity at the file level, including status and timestamps. This aligns with Snowflake best practices for near-continuous file ingestion from object storage. Relevant Snowflake documentation includes guidance for Snowpipe auto-ingest, stages for loading data from cloud storage, and monitoring load activity with COPY_HISTORY.
- A. Correct.
Correct. An external stage points Snowflake to files in cloud storage, and Snowpipe with auto-ingest integrates with cloud event notifications to continuously load newly arrived files with low operational effort. For auditing, COPY_HISTORY is the appropriate Snowflake metadata function/view to determine which files were loaded, load status, and timestamps. This is the standard collection and ingestion pattern for continuously arriving files in cloud storage.
- B. Incorrect.
Incorrect. An internal stage with manual PUT is operationally heavier and does not satisfy the requirement for automatic discovery of new files in the cloud object store. QUERY_HISTORY shows executed SQL statements, but it is not the best source to reliably audit file-level load details such as which specific files were ingested; COPY_HISTORY is designed for that purpose.
- C. Incorrect.
Incorrect. Materialized views do not ingest files from object storage. They maintain precomputed query results based on underlying Snowflake tables or certain external table scenarios, but they are not a collection system for continuously loading raw files into Snowflake tables. This option confuses query acceleration features with ingestion capabilities.
- D. Incorrect.
Incorrect. Snowflake cannot use plain SELECT statements directly against an object store path as a collection mechanism in the way described. Even when querying staged files, this does not provide managed continuous ingestion of newly arrived files. ACCESS_HISTORY tracks object access for governance and auditing, not file load events for ingestion monitoring.