ARA-C01 exam dumps

ARA-C01 practice question 297 of 434

SnowPro® Advanced: Architect. Professional level, Snowflake. Free question with the correct answer and a full explanation.

ARA-C01 Question 297

Single answerData unloading

A company must unload a 12 TB fact table from Snowflake to an Amazon S3 bucket every night for an external analytics platform. The downstream platform requires gzip-compressed CSV files with a header row, one file per date partition, and no records enclosed in quotation marks. The architecture team also wants to minimize manual post-processing and avoid generating many small files. Which approach best meets these requirements?

  1. A

    Run a COPY INTO command selecting the required partition columns, specify FILE_FORMAT = (TYPE = CSV COMPRESSION = GZIP FIELD_OPTIONALLY_ENCLOSED_BY = NONE), HEADER = TRUE, SINGLE = TRUE, and use PARTITION BY date_column.

  2. B

    Run a COPY INTO command with FILE_FORMAT = (TYPE = CSV COMPRESSION = GZIP FIELD_OPTIONALLY_ENCLOSED_BY = NONE), HEADER = TRUE, and use PARTITION BY date_column without SINGLE = TRUE.

  3. C

    Create an external table on the S3 bucket and use INSERT INTO the external table with a CSV file format so Snowflake writes one gzip CSV file per date partition.

  4. D

    Use GET on the table's internal stage after querying the fact table, because GET supports downloading query results as gzip CSV files with headers and partitioned output.

  5. E

    Run a COPY INTO command with FILE_FORMAT = (TYPE = CSV COMPRESSION = GZIP FIELD_OPTIONALLY_ENCLOSED_BY = '"'), OVERWRITE = TRUE, MAX_FILE_SIZE = 5368709120, and PARTITION BY date_column.

Show answer and explanation

Correct answer: B

Explanation

For unloading Snowflake data to cloud storage, the supported and recommended pattern is COPY INTO . For CSV output, file format parameters such as TYPE = CSV, COMPRESSION = GZIP, HEADER = TRUE, and FIELD_OPTIONALLY_ENCLOSED_BY control the generated files. To avoid quoted fields, FIELD_OPTIONALLY_ENCLOSED_BY should be NONE. When output must be organized by a key such as a date, PARTITION BY can be used so Snowflake writes files into partitioned paths by the expression value. However, architects should know an important limitation: SINGLE = TRUE cannot be combined with PARTITION BY, and Snowflake does not guarantee exactly one file per partition for large partitions. In practice, PARTITION BY is the best way to minimize downstream processing when date-based partitioned unloads are required. External tables are for reading external data, not writing unloads, and GET is only for moving staged files from an internal stage to a client machine. These behaviors are consistent with Snowflake documentation for COPY INTO , file format options, and data unloading best practices.

  • A. Incorrect.

    Incorrect. In Snowflake unload operations, SINGLE = TRUE cannot be used together with PARTITION BY. SINGLE forces creation of a single output file, while PARTITION BY writes separate files by partition value. Because the requirement is one file per date partition, this combination is not valid for the intended result and would not meet the design requirement.

  • B. Correct.

    Correct. COPY INTO is the standard Snowflake method for unloading data to cloud storage. Using TYPE = CSV and COMPRESSION = GZIP satisfies the gzip CSV requirement. HEADER = TRUE includes the header row. FIELD_OPTIONALLY_ENCLOSED_BY = NONE avoids enclosing values in quotation marks. PARTITION BY date_column causes output to be organized by partition value, which aligns with the requirement to produce output by date partition while minimizing post-processing. Also, avoiding SINGLE = TRUE is necessary because it is incompatible with PARTITION BY and because Snowflake may generate multiple files per partition depending on volume; however, this is still the closest supported approach and best architectural choice among the options.

  • C. Incorrect.

    Incorrect. External tables in Snowflake are for querying data already stored in external cloud storage; they are not a mechanism for unloading query results or writing files to S3. Snowflake unloads data using COPY INTO , not INSERT INTO an external table.

  • D. Incorrect.

    Incorrect. GET downloads files from an internal stage to a local file system where the client is running. It does not unload query results directly from a table to S3, and it does not provide partitioned unload behavior for external cloud storage targets. This reflects a common confusion between stage file transfer commands and unload commands.

  • E. Incorrect.

    Incorrect. Although COPY INTO with PARTITION BY is the right family of command, this option sets FIELD_OPTIONALLY_ENCLOSED_BY to a double quote, which causes fields to be optionally enclosed in quotation marks. That directly conflicts with the stated requirement for no quotation marks. MAX_FILE_SIZE may help influence file sizing, but it does not guarantee exactly one file per partition.

Timed practice exam

Take a ARA-C01 practice test under exam conditions

65 questions in 115 minutes, drawn from this bank, with a score report and a per-question review when you finish.

Start timed exam