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
A JSON file, that contains lots of dates and arrays, needs to be processed in Snowflake. The user wants to ensure optimal performance while querying the data.
How can this be achieved?
- A . Flatten the data and store it in structured data types in a flattened table. Query the table.
- B . Store the data in a table with a variant data type. Query the table.
- C . Store the data in a table with a vai : ant data type and include STRIP_NULL_VALUES while loading the table. Query the table.
- D . Store the data in an external stage and create views on top of it. Query the views.
B
Explanation:
Storing JSON data in a table with a VARIANT data type is optimal for querying because it allows Snowflake to leverage its semi-structured data capabilities. This approach enables efficient storage and querying without the need for flattening the data, which can be performance-intensive1.
Where would a Snowflake user find information about query activity from 90 days ago?
- A . account__usage. query history view
- B . account__usage.query__history__archive View
- C . information__schema. cruery_history view
- D . information__schema – query history_by_ses s i on view
B
Explanation:
To find information about query activity from 90 days ago, a Snowflake user should use the account_usage.query_history_archive view. This view is designed to provide access to historical query data beyond the default 14-day retention period found in the standard query_history view. It allows users to analyze and audit past query activities for up to 365 days after the date of execution, which includes the 90-day period mentioned.
References:
[COF-C02] SnowPro Core Certification Exam Study Guide
Snowflake Documentation on Account Usage Schema1
Which stream type can be used for tracking the records in external tables?
- A . Append-only
- B . External
- C . Insert-only
- D . Standard
B
Explanation:
The stream type that can be used for tracking the records in external tables is ‘External’. This type of stream is specifically designed to track changes in external tables
What does a table with a clustering depth of 1 mean in Snowflake?
- A . The table has only 1 micro-partition.
- B . The table has 1 overlapping micro-partition.
- C . The table has no overlapping micro-partitions.
- D . The table has no micro-partitions.
C
Explanation:
In Snowflake, a table’s clustering depth indicates the degree of micro-partition overlap based on the clustering keys defined for the table. A clustering depth of 1 implies that the table has no overlapping micro-partitions. This is an optimal scenario, indicating that the table’s data is well-clustered according to the specified clustering keys. Well-clustered data can lead to more efficient query performance, as it reduces the amount of data scanned during query execution and improves the effectiveness of data pruning.
References: Snowflake Documentation on Clustering: Understanding Clustering Depth
What is the recommended way to change the existing file format type in my format from CSV to JSON?
- A . ALTER FILE FORMAT my_format SET TYPE=JSON;
- B . ALTER FILE FORMAT my format SWAP TYPE WITH JSON;
- C . CREATE OR REPLACE FILE FORMAT my format TYPE-JSON;
- D . REPLACE FILE FORMAT my format TYPE-JSON;
A
Explanation:
To change the existing file format type from CSV to JSON, the recommended way is to use the ALTER FILE FORMAT command with the SET TYPE=JSON clause. This alters the file format specification to use JSON instead of CSV.
References: Based on my internal knowledge as of 2021.
What can the Snowflake SCIM API be used to manage? (Select TWO).
- A . Integrations
- B . Network policies
- C . Session policies
- D . Roles
- E . Users
D, E
Explanation:
The Snowflake SCIM (System for Cross-domain Identity Management) API is used for automated user and role management. It enables integration with identity providers (IdPs) for the provisioning and deprovisioning of user accounts and roles in Snowflake. This helps in managing access control and permissions systematically and aligns with identity governance practices.
References:
Snowflake Documentation: Managing Users and Roles with SCIM API
What is it called when a customer managed key is combined with a Snowflake managed key to create a composite key for encryption?
- A . Hierarchical key model
- B . Client-side encryption
- C . Tri-secret secure encryption
- D . Key pair authentication
C
Explanation:
Tri-secret secure encryption is a security model employed by Snowflake that involves combining a customer-managed key with a Snowflake-managed key to create a composite key for encrypting data. This model enhances data security by requiring both the customer-managed key and the Snowflake-managed key to decrypt data, thus ensuring that neither party can access the data independently. It represents a balanced approach to key management, leveraging both customer control and Snowflake’s managed services for robust data encryption.
References: Snowflake Documentation: Encryption and Key Management
What happens to historical data when the retention period for an object ends?
- A . The data is cloned into a historical object.
- B . The data moves to Fail-safe
- C . Time Travel on the historical data is dropped.
- D . The object containing the historical data is dropped.
C
Explanation:
When the retention period for an object ends in Snowflake, Time Travel on the historical data is dropped ©. This means that the ability to access historical data via Time Travel is no longer available once the retention period has expired2.
Which Snowflake SQL statement would be used to determine which users and roles have access to a role called MY_ROLE?
- A . SHOW GRANTS OF ROLE MY_ROLE
- B . SHOW GRANTS TO ROLE MY_ROLE
- C . SHOW GRANTS FOR ROLE MY_ROLE
- D . SHOW GRANTS ON ROLE MY_ROLE
B
Explanation:
The SQL statement SHOW GRANTS TO ROLE MY_ROLE is used to determine which users and roles have access to a role called MY_ROLE. This statement lists all the privileges granted to the role, including which roles and users can assume MY_ROLE.
References: [COF-C02] SnowPro Core Certification Exam Study Guide
What is the purpose of the STRIP NULL_VALUES file format option when loading semi-structured data files into Snowflake?
- A . It removes null values from all columns in the data.
- B . It converts null values to empty strings during loading.
- C . It skips rows with null values during the loading process.
- D . It removes object or array elements containing null values.
D
Explanation:
The STRIP NULL_VALUES file format option, when set to TRUE, removes object or array elements that contain null values during the loading process of semi-structured data files into Snowflake. This ensures that the data loaded into Snowflake tables does not contain these null elements, which can be useful when the “null” values in files indicate missing values and have no other special meaning2.
References: [COF-C02] SnowPro Core Certification Exam Study Guide