nerdexam
Databricks

DATABRICKS-CERTIFIED-DATA-ENGINEER-ASSOCIATE · Question #90

A data engineer runs a statement every day to copy the previous day's sales into the table transactions. Each day's sales are in their own file in the location "/transactions/raw". Today, the data…

The correct answer is C. The previous day's file has already been copied into the table. COPY INTO (in Databricks and Snowflake) is idempotent by default. The engine maintains an internal load history log that tracks every file already ingested from the source location. When you re-run COPY INTO against the same path, it automatically skips files that appear in…

Submitted by rachelw· Apr 18, 2026ELT with Spark SQL and Python

Question

A data engineer runs a statement every day to copy the previous day's sales into the table transactions. Each day's sales are in their own file in the location "/transactions/raw". Today, the data engineer runs the following command to complete this task: After running the command today, the data engineer notices that the number of records in table transactions has not changed. Which of the following describes why the statement might not have copied any new records into the table?

Options

  • AThe format of the files to be copied were not included with the FORMAT_OPTIONS keyword.
  • BThe names of the files to be copied were not included with the FILES keyword.
  • CThe previous day's file has already been copied into the table.
  • DThe PARQUET file format does not support COPY INTO.
  • EThe COPY INTO statement requires the table to be refreshed to view the copied rows.

How the community answered

(39 responses)
  • C
    92% (36)
  • D
    3% (1)
  • E
    5% (2)

Explanation

COPY INTO (in Databricks and Snowflake) is idempotent by default. The engine maintains an internal load history log that tracks every file already ingested from the source location. When you re-run COPY INTO against the same path, it automatically skips files that appear in that log, so zero rows are copied and the table row count remains unchanged. This prevents accidental duplicate ingestion without requiring any extra configuration. If you intentionally need to reload an already-processed file, you must add FORCE = TRUE to override the load history check. The other options are incorrect: FORMAT_OPTIONS is optional (defaults are inferred), FILES is not required when you specify a directory path, Parquet is a fully supported format, and COPY INTO commits rows immediately with no refresh needed.

Topics

#COPY INTO#Data Ingestion#Idempotency#Delta Lake

Community Discussion

No community discussion yet for this question.

Full DATABRICKS-CERTIFIED-DATA-ENGINEER-ASSOCIATE Practice