ARA-C01 Data Engineering Practice Question
A data engineer needs to copy data from an internal stage into a Snowflake table. The stage contains files with a mix of valid and malformed records. The engineer wants to load all valid records and capture the malformed ones for later analysis without failing the entire load. Which COPY INTO option should be used?
⚠ Common exam trap
A common mix-up: candidates confuse ON_ERROR = 'CONTINUE' with VALIDATION_MODE, which only validates without loading, or with SKIP_FILE, which skips entire files rather than individual rows.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
ON_ERROR = 'CONTINUE'
ON_ERROR = 'CONTINUE' is the correct option because it allows the COPY INTO operation to skip erroneous rows and load all valid ones. The rejected rows are recorded in the load metadata, which can be queried using the VALIDATE function or by checking the COPY_HISTORY. This provides a way to capture malformed records for later analysis while ensuring valid data is loaded.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
VALIDATION_MODE = 'RETURN_ERRORS'
Why it's wrong here
VALIDATION_MODE = 'RETURN_ERRORS' is used to validate files without loading them, returning all errors. It does not load any data; it only reports errors. This would not load valid records, so it does not satisfy the requirement to load valid data and capture malformed ones.
- ✓
ON_ERROR = 'CONTINUE'
Why this is correct
ON_ERROR = 'CONTINUE' instructs COPY INTO to skip any rows that cause errors and continue loading the remaining rows. It allows the load to succeed even if some records are malformed, and the skipped rows can be retrieved from the load metadata for analysis. This exactly matches the requirement to load valid records and capture malformed ones.
- ✗
ON_ERROR = 'ABORT_STATEMENT'
Why it's wrong here
ON_ERROR = 'ABORT_STATEMENT' aborts the entire COPY statement if any error occurs, causing no data to be loaded. This is the default behavior and is the opposite of what is needed. It would fail the load entirely, which is not acceptable when you want to capture malformed records and continue.
- ✗
ON_ERROR = 'SKIP_FILE'
Why it's wrong here
ON_ERROR = 'SKIP_FILE' skips the entire file if any error occurs, not just the malformed rows. This would result in valid records in the same file being skipped as well, which does not meet the requirement to load all valid records. It is useful when files are expected to be entirely valid or invalid.
About these practice questions
One of 209 original ARA-C01 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Snowflake exam blueprint
This ARA-C01 practice question is part of Courseiva's free Snowflake certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the ARA-C01 exam.