1. A data engineer at an insurance company needs to perform a batch load of 400 GB of historical claim records stored as Parquet files in Azure Data Lake Storage Gen2 into a Unity Catalog managed Delta table. The load is a one-time operation, and the files are already clean and schema-conformant. Which loading approach is most appropriate?
- A. Use `COPY INTO` with the `FORMAT = 'PARQUET'` option, because it is idempotent, tracks ingested files, and is optimized for bulk loading of cloud-stored files.✓ Correct
- B. Use Spark Structured Streaming with Auto Loader in `trigger(once=True)` mode to process all files exactly once.
- C. Use a CTAS (CREATE TABLE AS SELECT) statement that reads the ADLS path directly, then write the result into the Unity Catalog table with `INSERT INTO`.
- D. Use Lakeflow Connect to configure a Parquet source connector and schedule a one-time sync.
Explanation
`COPY INTO` is the correct answer for a one-time, idempotent bulk load of clean, schema-conformant Parquet files from cloud storage into Delta. It tracks which files have been loaded, is optimized for large batch ingestion, and requires no streaming infrastructure. Option B (Auto Loader with `trigger(once=True)`) works technically but adds unnecessary complexity — Auto Loader is designed for continuous or incremental ingestion scenarios, not simple one-time bulk loads. Option C (CTAS + INSERT INTO) is a two-step workaround; CTAS alone would create a new table overwriting the target, and the combination is less clean and idempotent than `COPY INTO`. Option D (Lakeflow Connect) is intended for ongoing connector-based replication from SaaS or database sources, not for loading static Parquet files from cloud storage in a one-time operation.