COF-C02 · Question #205
A company needs to read multiple terabytes of data for an initial load as part of a Snowflake migration. The company can control the number and size of CSV extract files. How does Snowflake…
The correct answer is B. Produce the largest files possible, reducing the overall number of files to process. Snowflake recommends producing larger files (ideally 100–250 MB compressed) rather than a high volume of tiny files. Each file incurs overhead for parsing, staging, and coordination. When there are too many small files, that metadata and scheduling overhead dominates total load…
Question
A company needs to read multiple terabytes of data for an initial load as part of a Snowflake migration. The company can control the number and size of CSV extract files. How does Snowflake recommend maximizing the load performance?
Options
- AUse auto-ingest Snowpipes to load large files in a serverless model.
- BProduce the largest files possible, reducing the overall number of files to process.
- CProduce a larger number of smaller files and process the ingestion with size Small virtual
- DUse an external tool to issue batched row-by-row inserts within BEGIN TRANSACTION and
How the community answered
(19 responses)- A5% (1)
- B74% (14)
- C5% (1)
- D16% (3)
Explanation
Snowflake recommends producing larger files (ideally 100–250 MB compressed) rather than a high volume of tiny files. Each file incurs overhead for parsing, staging, and coordination. When there are too many small files, that metadata and scheduling overhead dominates total load time. Reducing the file count while keeping individual files substantial allows Snowflake's COPY INTO to process them efficiently without excessive per-file overhead. Auto-ingest Snowpipes (A) are designed for continuous, incremental loads-not bulk migrations. Row-by-row inserts (D) are the worst-case pattern for bulk loading performance in any columnar warehouse.
Topics
Community Discussion
No community discussion yet for this question.