Snowflake COF-C02 Practice Exams
Last updated on Oct 23,2026- Exam Code: COF-C02
- Exam Name: SnowPro Core Certification Exam
- Certification Provider: Snowflake
- Latest update: Oct 23,2026
Which data types can be used in a Snowflake table that holds semi-structured data? (Select TWO).
- A . ARRAY
- B . BINARY
- C . TEXT
- D . VARIANT
- E . VARCHAK
A, D
Explanation:
Snowflake supports semi-structured data types that can store complex data structures within a single column. The VARIANT data type can hold structured and semi-structured data formats such as JSON, Avro, ORC, Parquet, and XML. The ARRAY data type is also used for semi-structured data and can store an ordered list of elements. These data types enable users to work with semi-structured data directly in Snowflake without needing to flatten the data into a relational schema first.
References: Snowflake Documentation on Semi-Structured Data Types
What situation is likely to cause data spillage when a query is run?
- A . When the query contains multiple filters and no data is returned.
- B . When a virtual warehouse runs out of memory while executing the query.
- C . When the number of queries exceeds the max_concurrency_level parameter setting.
- D . When running queries that exceed the statement_timecut_in_seccnds parameter setting.
Which function should be used to insert JSON format string data inot a VARIANT field?
- A . FLATTEN
- B . CHECK_JSON
- C . PARSE_JSON
- D . TO_VARIANT
C
Explanation:
To insert JSON formatted string data into a VARIANT field in Snowflake, the correct function to use is PARSE_JSON. The PARSE_JSON function is specifically designed to interpret a JSON formatted string and convert it into a VARIANT type, which is Snowflake’s flexible format for handling semi-structured data like JSON, XML, and Avro. This function is essential for loading and querying JSON data within Snowflake, allowing users to store and manage JSON data efficiently while preserving its structure for querying purposes. This function’s usage and capabilities are detailed in the Snowflake documentation, providing users with guidance on how to handle semi-structured data effectively within their Snowflake environments.
References:
Snowflake Documentation: PARSE_JSON
Which features could be used to improve the performance of queries that return a small subset of rows from a large table? (Select TWO).
- A . Search optimization service
- B . Automatic clustering
- C . Row access policies
- D . Multi-cluster virtual warehouses
- E . Secure views
A, B
Explanation:
The search optimization service and automatic clustering are features that can improve the performance of queries returning a small subset of rows from a large table. The search optimization service is designed for low-latency point lookup queries, while automatic clustering organizes data in micro-partitions based on specific dimensions to reduce the amount of data scanned during queries.
Which transformation is supported by a COPY INTO <table> command?
- A . Filter using a where clause
- B . Filter using a limit keyword
- C . Cast using a SELECT statement
- D . Order using an ORDER BY clause
C
Explanation:
The COPY INTO <table> command in Snowflake supports transformations such as casting using a SELECT statement. This allows for the transformation of data types as the data is being loaded into the table, which can be particularly useful when the data types in the source files do not match the data types in the target table
Which Snowflake feature is used for both querying and restoring data?
- A . Cluster keys
- B . Time Travel
- C . Fail-safe
- D . Cloning
B
Explanation:
Snowflake’s Time Travel feature is used for both querying historical data in tables and restoring and cloning historical data in databases, schemas, and tables3. It allows users to access historical data within a defined period (1 day by default, up to 90 days for Snowflake Enterprise Edition) and is a key feature for data recovery and management.
References: [COF-C02] SnowPro Core Certification Exam Study Guide
What is the benefit of using the STRIP_OUTER_ARRAY parameter with the COPY INTO <table> command when loading data from a JSON file into a table?
- A . It flattens multiple arrays into a single array.
- B . It removes the outer array structure and loads separate rows of data
- C . It transforms a pivoted table into an array.
- D . It tokenizes each data string using the defined delimiters.
B
Explanation:
The STRIP_OUTER_ARRAY parameter in the COPY INTO <table> command is used when loading data from a JSON file into a table. This parameter removes the outer array structure from the JSON data and loads separate rows of data into the table.
Understanding the STRIP_OUTER_ARRAY Parameter:
JSON files often contain data in an array format where multiple records are nested within a single outer array.
The STRIP_OUTER_ARRAY parameter helps in simplifying the loading process by removing this outer array, allowing each element within the array to be loaded as a separate row in the target table.
How It Works:
When the STRIP_OUTER_ARRAY parameter is set to TRUE, Snowflake treats each item within the outer array as an individual record.
This eliminates the need for additional parsing or transformation steps that would otherwise be required to handle nested arrays.
Example Usage:
FROM @my_stage/file.json
FILE_FORMAT = (TYPE = ‘JSON’ STRIP_OUTER_ARRAY = TRUE);
In this example, the JSON file containing an array of objects is loaded into the table my_table.
Each object within the array is loaded as a separate row, without the outer array structure.
Benefits:
Simplifies data loading: By removing the outer array, the data is directly loaded into the table without additional manipulation.
Enhances performance: Streamlines the loading process, reducing the complexity and potential errors in handling nested JSON structures.
References:
Snowflake Documentation: COPY INTO <table>
Snowflake Documentation: JSON File Format Options
Which activities are included in the Cloud Services layer? {Select TWO).
- A . Data storage
- B . Dynamic data masking
- C . Partition scanning
- D . User authentication
- E . Infrastructure management
D, E
Explanation:
The Cloud Services layer in Snowflake is responsible for a wide range of services that facilitate the management and use of Snowflake, including:
D. User authentication: This service handles identity and access management, ensuring that only authorized users can access Snowflake resources.
E. Infrastructure management: This service manages the allocation and scaling of resources to meet user demands, including the management of virtual warehouses, storage, and the orchestration of query execution.
These services are part of Snowflake’s fully managed, cloud-based architecture, which abstracts and automates many of the complexities associated with data warehousing.
References:
Snowflake Documentation: Overview of Snowflake Cloud Services
When an object is created in Snowflake. who owns the object?
- A . The public role
- B . The user’s default role
- C . The current active primary role
- D . The owner of the parent schema
C
Explanation:
In Snowflake, when an object is created, it is owned by the role that is currently active. This active role is the one that is being used to execute the creation command. Ownership implies full control over the object, including the ability to grant and revoke access privileges. This is specified in Snowflake’s documentation under the topic of Access Control, which states that "the role in use at the time of object creation becomes the owner of the object."
References: Snowflake Documentation: Object Ownership
What are supported file formats for unloading data from Snowflake? (Choose three.)
- A . XML
- B . JSON
- C . Parquet
- D . ORC
- E . AVRO
- F . CSV
B, C, F
Explanation:
The supported file formats for unloading data from Snowflake include JSON, Parquet, and CSV. These formats are commonly used for their flexibility and compatibility with various data processing tools