DAA-C01 Question 4
Single answer1.1 Use a collection system to retrieve data.A retail analytics team needs to monitor customer clickstream data stored in Amazon S3 and make it queryable in Snowflake within minutes of new files arriving. Files are delivered continuously as JSON and must be loaded with minimal operational effort. The team also wants to avoid repeatedly scanning the same S3 location from external tools. Which approach should the data analyst recommend?
- A
Create an external stage on the S3 bucket, define a Snowpipe that auto-ingests notifications from S3, and load the JSON files into a Snowflake table for analysis.
- B
Use a user stage and require analysts to manually run PUT and COPY INTO commands whenever new S3 files arrive.
- C
Query the S3 files directly with a regular internal table and rely on automatic refresh to detect new files.
- D
Schedule a daily bulk COPY INTO from the S3 stage without event notifications because Snowflake collection systems only support batch ingestion.
Show answer and explanation
Correct answer: A
Explanation
The best answer is to use an external stage on Amazon S3 with Snowpipe auto-ingest. In Snowflake, this is the recommended collection and ingestion pattern when files arrive continuously in cloud object storage and need to be made available quickly with minimal operational overhead. Snowpipe integrates with cloud event notifications so Snowflake can discover and load newly arrived files without analysts or external schedulers repeatedly scanning the bucket. This aligns with Snowflake best practices for near-real-time file ingestion. By contrast, user stages are intended for client-uploaded files, internal tables cannot directly read S3 objects, and daily scheduled batch COPY jobs do not meet low-latency requirements. Relevant Snowflake documentation includes Snowpipe, auto-ingest with Amazon S3 event notifications, stages, and loading semi-structured data such as JSON.
- A. Correct.
Correct. For continuously arriving files in Amazon S3, the practical low-maintenance collection pattern is to use an external stage plus Snowpipe auto-ingest. Snowpipe uses cloud messaging/event notifications to detect new files and load them as they arrive, which minimizes manual work and avoids repeatedly polling or rescanning the location. This is a standard Snowflake ingestion approach for near-real-time file collection.
- B. Incorrect.
Incorrect. A user stage is for files staged from a client into Snowflake, typically with PUT. That does not fit an external S3 delivery pattern and would require manual or custom operational work. It also does not meet the requirement for low-latency, low-effort collection from continuously arriving cloud storage files.
- C. Incorrect.
Incorrect. Internal tables do not directly query files in S3. To query files in external cloud storage without loading, Snowflake uses external tables over an external stage, not a regular internal table. Also, this option mixes unrelated concepts and does not provide a valid collection mechanism for retrieving new S3 files into Snowflake tables.
- D. Incorrect.
Incorrect. A scheduled daily COPY INTO can load data from S3, but it does not satisfy the requirement to make data queryable within minutes of arrival. The statement that Snowflake collection systems only support batch ingestion is false; Snowpipe supports continuous ingestion triggered by cloud events.