Courseiva

SnowPro Core (COF-C03) — Questions 76–150

280 questions total · 4pages · All types, answers revealed

Page 1

Page 2 of 4

Page 3
76
MCQhard

Refer to the exhibit. A user executes a COPY INTO command and then queries the COPY_HISTORY. Based on the output shown, what most likely happened during the load and what is the current state of the data in the SALES_DATA table?

A.The load failed completely, and no rows were added to the table because of the 2 errors.
B.Exactly 500 rows were successfully loaded into the table, and the 2 errors were ignored.
C.The 2 errors represent duplicate files that were already loaded in a previous session.
D.The entire file was skipped because the number of errors exceeded the default threshold.
AnswerB

The 'PARTIALLY_LOADED' status is the key indicator that the 'ON_ERROR = CONTINUE' option was used. This tells Snowflake to load whatever it can. The ROW_COUNT of 500 represents the records that met the table's schema requirements and are now available for querying within the SALES_DATA table, while the errors are recorded for debugging.

Why this answer

The COPY_HISTORY result showing 'PARTIALLY_LOADED' with specific row errors indicates that the ON_ERROR parameter was likely set to 'CONTINUE'. In this mode, Snowflake skips rows that contain errors but proceeds to load all valid records into the table. This results in a successful transaction for the 500 valid rows, while the 2 erroneous rows are logged but not ingested.

Exam trap

Candidates often assume that any error during a load causes the entire transaction to rollback, failing to account for the ON_ERROR = 'CONTINUE' behavior.

77
MCQhard

A provider has shared a database with a consumer. The consumer reports that they can see the shared database but cannot query any tables because they get an error about insufficient privileges. The provider used the following command to create the share: CREATE SHARE MY_SHARE; then added a database and a table to the share. The provider also granted USAGE on the database and SELECT on the table to a role named SHARE_ROLE, and then granted SHARE_ROLE to MY_SHARE. What is the most likely cause of the consumer's issue?

A.The provider must also grant USAGE on the schema containing the table to SHARE_ROLE.
B.The consumer must create a database from the share before they can query the tables.
C.The share was not granted to the consumer account using ALTER SHARE ... ADD ACCOUNT.
D.The provider must use a secure view instead of a table to share data.
AnswerA

In Snowflake, to grant access to a table in a share, the provider must grant USAGE on the database, USAGE on the schema, and SELECT on the table to the share. The scenario mentions granting USAGE on the database and SELECT on the table, but not USAGE on the schema. Without schema usage, the consumer cannot access the table, resulting in an insufficient privileges error.

Why this answer

To share a table, the provider must grant USAGE on the database, USAGE on the schema, and SELECT on the table to the share. The scenario omits the schema usage grant, which is required for the consumer to access objects within that schema. Without it, queries will fail with insufficient privileges.

Adding the schema usage grant resolves the issue.

Exam trap

The trap here is assuming that granting USAGE on the database and SELECT on the table is sufficient, forgetting that schema-level USAGE is also mandatory for any object access within that schema.

78
MCQeasy

A consumer account has mounted a shared database named partner_db. The consumer wants to create a local table that combines data from the shared database with their own data. What must the consumer do to create this new table?

A.Create the table in one of their own databases using CREATE TABLE my_db.public.combined AS SELECT ... FROM partner_db.public.table
B.Create the table in the shared database using CREATE TABLE partner_db.public.combined AS SELECT ...
C.Request that the provider grant INSERT privileges on the shared schema so the consumer can create a table there.
D.Clone the shared database into their account and then create the table inside the clone.
AnswerA

Consumers can read from shared databases and write results into their own local databases. A CREATE TABLE AS SELECT statement referencing the shared database creates a new table owned by the consumer in their own schema. This is the standard pattern for combining shared data with local data, and it does not require any write privileges on the shared database.

Why this answer

Consumers can query shared databases but cannot create objects inside them. To combine shared data with local data, the consumer creates a new table in their own database using CREATE TABLE AS SELECT that reads from the shared database. This keeps ownership and write privileges with the consumer and avoids any attempt to modify the read-only shared database.

Exam trap

The trap here is assuming that a mounted shared database can be written to like a local database.

79
MCQmedium

A company wants to share data with a partner without replicating the data. Which Snowflake feature is designed for this purpose?

A.External Tables
B.Data Replication
C.Data Sharing
D.Database Cloning
AnswerC

Data Sharing leverages Snowflake's unique architecture to provide secure access to data objects without copying them. The provider grants access to specific views or tables, and the consumer maps them into their account. This enables real-time collaboration while maintaining strict security controls and eliminating data synchronization overhead.

Why this answer

Snowflake Data Sharing allows multiple accounts to access the same underlying data directly from the provider's storage without copying or moving any files. This is a revolutionary aspect of Snowflake's architecture, as it provides a live, secure, and governed data access model. By removing the need for ETL or data movement, organizations can collaborate instantly and ensure that the partner is always viewing the most current, accurate version of the shared data.

Exam trap

Candidates often confuse Data Sharing with Data Replication or Data Export. They assume sharing requires creating a duplicate copy of the data in the partner account, which is incorrect.

80
MCQeasy

A Snowflake administrator needs to grant a new analyst the ability to view all tables in the 'SALES' database and query them, but should not be able to modify any data or schema objects. Which sequence of privileges should the administrator grant to meet this requirement with least privilege?

A.Grant the ACCOUNTADMIN role to the analyst, as it includes all necessary privileges for viewing and querying tables.
B.Grant the predefined role PUBLIC to the analyst, as PUBLIC has SELECT on all tables by default.
C.Grant USAGE on the SALES database and SELECT on all tables in the database, but no privileges on schemas.
D.Grant USAGE on the SALES database, USAGE on all schemas in the database, and SELECT on all present and future tables in the database.
AnswerD

This grants the minimum privileges needed: USAGE on the database and schemas allows navigation, and SELECT on tables allows querying. Using GRANT SELECT ON ALL TABLES and ON FUTURE TABLES ensures coverage of existing and new tables. No modification privileges are granted, adhering to least privilege. This is the standard approach for read-only access.

Why this answer

To provide read-only access to all tables in a database, the administrator must grant USAGE on the database, USAGE on the schemas, and SELECT on the tables. Including future tables ensures that new tables are automatically accessible. This set of privileges allows querying without any modification rights, aligning with least privilege.

Omitting schema USAGE or granting excessive roles would fail the requirement.

Exam trap

The trap here is forgetting that schema-level USAGE is required in addition to database USAGE for a user to access tables within schemas.

81
MCQeasy

A Snowflake administrator needs to ensure that a virtual warehouse automatically suspends after a period of inactivity to save costs. Which parameter should they configure?

A.WAREHOUSE_SIZE
B.AUTO_SUSPEND
C.STATEMENT_TIMEOUT_IN_SECONDS
D.AUTO_RESUME
AnswerB

AUTO_SUSPEND specifies the number of seconds of inactivity after which a virtual warehouse is automatically suspended. Setting this parameter allows the warehouse to shut down when not in use, preventing unnecessary credit consumption. It is a standard cost-saving configuration in Snowflake and directly addresses the requirement.

Why this answer

AUTO_SUSPEND is the parameter that defines the idle time before a virtual warehouse is automatically suspended. Configuring it appropriately ensures that warehouses do not run unnecessarily, reducing credit usage. AUTO_RESUME is complementary but does not suspend the warehouse.

The other parameters affect query timeout or warehouse size, not automatic suspension.

Exam trap

The trap here is mixing up AUTO_SUSPEND and AUTO_RESUME, assuming that AUTO_RESUME handles suspension when it actually handles resumption.

82
MCQhard

A provider wants to share data with a consumer but needs to ensure that the consumer cannot see the underlying table structure or any data beyond what is explicitly exposed. The provider also wants to prevent the consumer from using the shared data to infer sensitive information. Which Snowflake feature should the provider use?

A.Dynamic data masking
B.Row access policies
C.Secure views
D.Materialized views
AnswerC

Secure views are designed to hide the underlying SQL definition and prevent users from seeing the base tables or using query optimizations that might leak information. They are ideal for sharing sensitive data because they allow fine-grained control and prevent inference attacks. The provider should use secure views to expose only the necessary data.

Why this answer

Secure views are specifically designed to share data without revealing the underlying table structure or allowing inference. They hide the view definition from unauthorized users and prevent the use of certain optimizations that could leak information. For sharing sensitive data with external consumers, secure views are the recommended feature.

Exam trap

The trap here is confusing secure views with other security features like row access policies or dynamic data masking, which address specific aspects but do not provide the comprehensive hiding and inference prevention that secure views offer.

83
MCQmedium

How does Snowflake's architecture provide high availability and disaster recovery across different geographic locations?

A.By automatically replicating all data to every cloud region globally by default.
B.Through the use of Fail-safe, which allows users to restore data from any region.
C.By enabling Database Replication and Failover to a secondary region or cloud.
D.By using Virtual Warehouses that automatically span across multiple cloud providers.
AnswerC

Database Replication allows for the synchronization of data and metadata from a primary database to one or more secondary databases in different regions or cloud platforms. If the primary region becomes unavailable, the secondary database can be promoted to primary, allowing applications to continue functioning with minimal downtime and data loss.

Why this answer

Snowflake's architecture leverages 'Snowgrid' to enable cross-cloud and cross-region capabilities. This allows organizations to replicate databases and synchronize metadata across different regions or even different cloud providers. In the event of a regional outage, users can failover to a secondary region to maintain business continuity, ensuring that critical data applications remain available.

Exam trap

Candidates often confuse simple data backup with high availability, failing to identify that Database Replication and Failover are the specific features required for cross-region disaster recovery.

84
MCQmedium

A Python developer wants to upload a Pandas DataFrame to a Snowflake table as efficiently as possible without manually writing files to a local stage. Which function from the Snowflake Connector for Python should be used?

A.cursor.execute("INSERT INTO...")
B.write_pandas()
C.snowflake.load_df()
D.pd.to_sql() with the default engine
AnswerB

The write_pandas() function is the optimized method for loading data from a Pandas DataFrame into Snowflake. It handles the underlying complexity of chunking data, uploading it to a stage, and performing a bulk load. This method is much faster than row-by-row inserts and is the recommended practice for data science and engineering workflows using Python.

Why this answer

The Snowflake Connector for Python provides a high-level function called write_pandas specifically for this purpose. This function automates the process of converting the DataFrame to Parquet format, staging the files in a temporary internal stage, and executing the COPY INTO command. This abstraction simplifies the developer's workflow while maintaining high performance for large data transfers.

Exam trap

Candidates waste time writing custom file-writing logic in Python instead of using the built-in write_pandas function designed specifically for high-efficiency DataFrame ingestion.

85
MCQhard

A data engineer is analyzing a slow query that uses a window function with a PARTITION BY clause on a high-cardinality column. The Query Profile shows that the window function is causing significant data shuffling. The engineer wants to reduce the shuffling. Which approach is most likely to improve performance?

A.Add an ORDER BY clause inside the window function to sort the data before partitioning.
B.Replace the window function with a self-join on the partitioning column.
C.Use a QUALIFY clause to filter the results after the window function is computed.
D.Pre-aggregate the data in a subquery or CTE to reduce the number of rows before applying the window function.
AnswerD

Pre-aggregating the data reduces the volume of rows that need to be shuffled for the window function. If the window function operates on a smaller dataset, the shuffling overhead decreases. This is a common optimization: compute aggregations first, then apply window functions on the aggregated result. It can significantly improve performance when the original dataset is large and the window function does not require row-level detail.

Why this answer

The shuffling is caused by the need to co-locate rows with the same partition key. If the dataset is reduced before the window function, the shuffle volume decreases. Pre-aggregating in a subquery or CTE is an effective way to reduce the number of rows that must be redistributed.

This is especially beneficial when the window function does not need row-level detail. The other options either do not affect shuffling or introduce additional overhead.

Exam trap

The trap here is thinking that adding an ORDER BY or using QUALIFY will reduce shuffling, when in fact only reducing the data volume before the window function can mitigate the shuffle.

86
MCQeasy

Which feature in Snowflake allows you to track and audit all SQL queries executed across the entire account?

A.ACCESS_HISTORY.
B.QUERY_HISTORY.
C.SESSION_HISTORY.
D.DATA_TRANSFER_HISTORY.
AnswerB

The QUERY_HISTORY view (and corresponding table function) captures the full SQL statement, the user, the start/end times, and the warehouse used for every query. It is the comprehensive source for auditing account-wide query activity and is essential for security auditing and performance monitoring tasks.

Why this answer

The QUERY_HISTORY table function and the ACCOUNT_USAGE.QUERY_HISTORY view are the primary methods for auditing query activity. These objects record every query submitted, who submitted it, the warehouse used, and the execution time. This is critical for data governance because it provides a forensic trail for compliance, troubleshooting, and understanding how data is accessed and modified over time by different users.

Exam trap

Candidates often look for specific monitoring features or warehouse logs instead of recognizing the built-in QUERY_HISTORY table function and view as the primary auditing mechanism.

87
MCQmedium

How does Snowflake's architecture provide high availability for its internal metadata and security services?

A.By storing metadata in the user's private S3 bucket.
B.By deploying the Cloud Services layer across multiple availability zones.
C.By manually replicating the database to a secondary region.
D.By using a single large instance to manage all metadata.
AnswerB

The Cloud Services layer is architected to run across multiple availability zones simultaneously. This redundancy ensures that if any single zone experiences a disruption, the service can continue to operate and manage the metadata and security state, providing seamless high availability to the end-user without downtime.

Why this answer

Snowflake is designed as a multi-zone service. The Cloud Services layer, which manages metadata, authentication, and security, is deployed across multiple availability zones in the cloud provider's region. If one zone fails, the service automatically fails over to another zone without manual intervention.

This architectural design ensures that Snowflake remains resilient against infrastructure outages, maintaining high availability for the control plane even if specific data center components experience issues.

Exam trap

Candidates often assume that high availability is handled by the compute warehouses. In reality, the critical metadata and security services are managed by the Cloud Services layer across multiple zones.

88
MCQmedium

What is the primary role of the Query Optimizer in Snowflake?

A.To index data manually.
B.To create an efficient execution plan.
C.To compress data stored in the database.
D.To manage user credentials.
AnswerB

The query optimizer's primary task is to transform SQL queries into the most effective execution plan. It evaluates how to retrieve data from micro-partitions using metadata and determines the best join and aggregation strategies to maximize speed while minimizing resource consumption during the query's execution on the virtual warehouse.

Why this answer

The Query Optimizer analyzes the SQL submitted by a user and generates the most efficient execution plan based on the data's metadata. By evaluating join orders, data pruning, and the distribution of data across compute nodes, it ensures that the query consumes minimal resources. This is a crucial function of the Cloud Services layer, making Snowflake accessible to SQL users of all levels while maintaining 'expert-level' performance without needing manual tuning or hints.

Exam trap

Candidates often incorrectly assume the Query Optimizer manages data storage or physical hardware placement, confusing it with the underlying storage layer's responsibilities.

89
MCQmedium

What is the primary benefit of Snowflake's 'Multi-Cluster Warehouse' feature when handling highly concurrent workloads?

A.It allows scaling storage independently of compute.
B.It prevents query queuing by automatically spinning up additional clusters.
C.It reduces the cost of queries by decreasing the warehouse size.
D.It enables data sharing between different Snowflake accounts.
AnswerB

A Multi-Cluster Warehouse is designed to add more compute clusters dynamically when the existing cluster is fully saturated by concurrent queries. This horizontal scaling approach ensures that incoming queries are processed immediately rather than being queued, which is critical for maintaining performance in high-concurrency environments.

Why this answer

Multi-Cluster Warehouses allow Snowflake to automatically scale compute capacity by spinning up additional clusters of identical size when demand increases. This prevents query queuing and ensures consistent performance during peak times. By managing the number of active clusters dynamically, Snowflake provides a seamless user experience for concurrent workloads, enabling organizations to meet service-level agreements without manual intervention or over-provisioning compute resources during quiet periods.

Exam trap

Candidates often confuse scaling up (increasing size) with scaling out (multi-cluster). Multi-cluster warehouses specifically address concurrency issues by adding clusters, not by making a single cluster larger.

90
MCQhard

Which approach is most effective for optimizing an aggregation query that performs a 'GROUP BY' on a high-cardinality column?

A.Increase the warehouse size to add more nodes.
B.Use a materialized view to pre-aggregate the data.
C.Reduce the number of columns in the SELECT clause.
D.Change the table type to transient.
AnswerB

Materialized views automatically maintain pre-aggregated data. When the query is run, Snowflake can often leverage these pre-computed results instead of performing the expensive 'GROUP BY' on the raw, high-cardinality column at runtime. This drastically reduces CPU and memory usage, leading to much faster performance for the analytical query.

Why this answer

High-cardinality columns can cause memory bottlenecks during aggregation because the distinct values cannot fit into the memory of a single node, leading to disk spilling. By using techniques like pre-aggregation or creating a materialized view that groups the data by the high-cardinality column, you reduce the workload. These strategies move the compute-heavy grouping operation to a more efficient time or structure, thereby preventing memory exhaustion and significantly improving the performance of the aggregation query.

Exam trap

Candidates often suggest increasing warehouse size as a first step, ignoring that materialized views specifically address high-cardinality aggregation bottlenecks more efficiently than scaling compute resources alone.

91
MCQmedium

A data engineer needs to verify the structure and content of several CSV files staged in an internal Snowflake stage without actually loading the data into the production table or incurring significant compute costs. Which parameter should be used with the COPY INTO command to achieve this specific goal?

A.ON_ERROR = ABORT_STATEMENT
B.VALIDATION_MODE = RETURN_ERRORS
C.PURGE = FALSE
D.FORCE = TRUE
AnswerB

Using this specific value for the validation parameter instructs Snowflake to scan the files and report all errors encountered in the data. No data is actually loaded into the table, making it an ideal choice for pre-load checks and debugging file format issues without consuming credits for data ingestion.

Why this answer

The VALIDATION_MODE parameter is specifically designed to parse staged files and return errors or data samples without performing an actual load. This prevents unnecessary data ingestion while allowing engineers to identify formatting issues or schema mismatches early in the development lifecycle. It is a cost-effective method to ensure data quality before executing a full production data pipeline.

Exam trap

Candidates attempt to use standard SELECT queries on internal stages to check file structures, forgetting that staged files must be evaluated using the COPY INTO command with validation parameters.

92
MCQeasy

Which Snowflake command is used to upload data files from a local file system to an internal stage?

A.COPY INTO
B.GET
C.PUT
D.INSERT
AnswerC

The PUT command is specifically designed to upload files from a local directory to an internal stage. It supports features like automatic compression and parallel uploads, making it the standard tool for getting data into the Snowflake environment before it is finally loaded into a permanent database table.

Why this answer

The PUT command is the primary method for moving local files into the Snowflake cloud environment's internal stages. This command is executed via the SnowSQL CLI or other drivers that support local file access. It handles the secure upload and optional encryption of data before it reaches the Snowflake managed storage.

Exam trap

Candidates frequently confuse the PUT command (used for local-to-internal staging) with the COPY INTO command (used for loading staged data into tables).

93
MCQmedium

A retail provider shares a secure view that joins a table in its SALES database with a table in its INVENTORY database. A consumer reports that queries against the shared view fail with an authorization error, even though the view itself is granted to the share. The provider confirms both underlying tables exist and the view definition is valid. Which issue most likely explains the failure?

A.The consumer must be granted the ACCOUNTADMIN role to query cross-database views.
B.The share was not associated with the consumer account.
C.Secure views cannot reference objects in more than one database.
D.The provider did not grant USAGE on the databases and schemas containing the underlying tables to the share.
AnswerD

A secure view references objects across two databases. For the view to execute, the share must include USAGE on each database and schema that holds the referenced tables, in addition to the SELECT grant on the view. Without those container-level grants, the view cannot resolve its dependencies and queries fail with an authorization error.

Why this answer

When a shared view references objects in multiple databases, the share must carry USAGE on every database and schema that contains a referenced object, plus SELECT on the view. Granting only the view leaves the underlying containers inaccessible, so the consumer's query cannot be authorized. Adding the missing container grants resolves the error without changing the view.

Exam trap

The trap here is granting only the view to the share and forgetting that a cross-database view also requires USAGE on each referenced database and schema.

94
MCQmedium

Which component in the Snowflake architecture is responsible for managing the data storage lifecycle, including compaction and file management?

A.The Virtual Warehouse
B.The Cloud Services layer
C.The Object Storage provider
D.The Data Loader
AnswerB

The Cloud Services layer acts as the orchestrator for the entire Snowflake platform. It performs automated maintenance, including file compaction and metadata management, ensuring the storage layer remains performant without any manual intervention from the database administrator or end-user.

Why this answer

Snowflake is a fully managed service, which means it automatically handles storage optimization tasks. The Cloud Services layer keeps track of all micro-partitions and performs background maintenance, such as coalescing small files into larger, more efficient ones. This 'zero-management' philosophy allows users to focus on querying their data rather than worrying about physical file layout, vacuuming, or manual performance tuning of the underlying storage environment.

Exam trap

Candidates often mistakenly attribute storage management and file compaction to the Virtual Warehouse, failing to recognize that the Cloud Services layer performs these background maintenance tasks.

95
MCQhard

Refer to the exhibit. Based on the Query Profile snippet, which optimization strategy would most likely address the high execution time and massive row production?

A.Apply a clustering key to the primary keys of both tables.
B.Enable the Query Acceleration Service for the warehouse.
C.Review the SQL to ensure a valid join predicate exists between the tables.
D.Increase the warehouse size to 4X-Large to handle the volume.
AnswerC

A Cartesian product indicates that the SQL lacks a restrictive join condition, causing an explosion in the result set size. By defining a proper predicate, the optimizer can use more efficient join algorithms like Hash Joins, drastically reducing the number of rows processed and the total execution time.

Why this answer

The exhibit identifies a Cartesian product join, which occurs when a join condition is missing or improperly defined, resulting in every row from one table being combined with every row from another. This leads to exponential data growth and severe performance issues. Correcting the join logic is the only way to prevent the system from generating these massive, unnecessary intermediate datasets.

Exam trap

Candidates often try to resolve massive row explosions by scaling up the virtual warehouse or adding clustering keys, ignoring the root structural issue which is an accidental Cartesian product.

96
MCQmedium

Which function or command should be used to analyze the execution details of a slow-running query in Snowflake?

A.DESCRIBE TABLE.
B.SHOW WAREHOUSES.
C.Query Profile.
D.SYSTEM$ABORT_QUERY.
AnswerC

The Query Profile is the dedicated interface in the Snowflake console for analyzing the performance of a query. It provides a detailed breakdown of the execution steps, allowing users to identify where time is being spent, such as in data scanning, joins, or remote disk spilling during query execution.

Why this answer

The Query Profile is the primary tool for visualizing the execution plan and performance metrics of a query. It provides a breakdown of each stage, including the time spent on data scanning, joins, and aggregations. Accessing this through the Snowflake UI or the `GET_QUERY_OPERATOR_STATS` function is essential for identifying bottlenecks and understanding how the optimizer handled the query, which is a prerequisite for effective performance tuning and optimization efforts.

Exam trap

Candidates often suggest checking the 'Query History' tab alone. While it shows status, it does not provide the visual execution plan or stage-by-stage metrics found in the Query Profile.

97
MCQeasy

A data analyst runs a query that filters on a DATE column and returns a small number of rows from a large table. The Query Profile shows a TableScan operator with a high percentage of partitions scanned. The analyst wants to reduce the number of partitions scanned without changing the query result. What should the analyst do?

A.Create a materialized view that pre-aggregates the data by DATE.
B.Add a cluster key on the DATE column to improve partition pruning.
C.Use the RESULT_SCAN function to retrieve cached results from a previous similar query.
D.Increase the warehouse size to enable more parallel scans of the table.
AnswerB

Clustering on the DATE column co-locates rows with similar dates into the same micro-partitions, allowing the optimizer to prune partitions more effectively when filtering on that column. This directly reduces the partitions scanned and improves performance for selective date filters. It does not change the query result, only the physical layout, making it the appropriate action.

Why this answer

Partition pruning relies on the natural ordering of data within micro-partitions. When a table is not clustered on the filter column, the optimizer may scan many partitions because matching rows are spread across them. Adding a cluster key on the DATE column reorganizes the data so that each micro-partition contains a narrow range of dates, enabling effective pruning.

This reduces I/O and improves performance without altering the query semantics. Other options either add resources or change the query pattern but do not directly reduce partitions scanned.

Exam trap

The trap here is thinking that a larger warehouse reduces the number of partitions scanned, when it only adds compute power to scan the same partitions faster.

98
Multi-Selectmedium

Which TWO conditions must be met for the Query Acceleration Service (QAS) to boost the performance of a query?

Select 2 answers
A.The query must involve complex window functions or recursive CTEs.
B.The query must be identified by the system as having a large scan component.
C.The virtual warehouse must have the ENABLE_QUERY_ACCELERATION parameter set to TRUE.
D.The table being queried must be a clustered table.
E.The query results must be larger than 100 GB.
AnswersB, C

Snowflake's optimizer determines if a query is eligible for QAS based on whether it needs to scan a massive number of micro-partitions. If a query only processes a small amount of data, the overhead of coordinating with the acceleration service would not provide any benefit.

Why this answer

The Query Acceleration Service (QAS) acts like a 'turbocharger' by offloading parts of a query to a shared pool of compute resources. It is specifically designed for queries that are bottlenecked by scanning large amounts of data or performing heavy filtering, and the warehouse must have QAS enabled with a valid scale factor.

Exam trap

Candidates often assume QAS automatically accelerates all queries. They miss that it only triggers for specific scan-heavy operations and requires the explicit warehouse parameter to be set.

99
MCQeasy

A data engineer has a CSV file on their local machine and wants to load it into a Snowflake table. They do not have access to an external cloud storage bucket and want the simplest path that does not require creating a named internal stage. Which command should they use?

A.COPY INTO my_table FROM 'file:///tmp/data.csv'
B.PUT file:///tmp/data.csv @my_table
C.COPY INTO my_table FROM @my_named_stage
D.PUT file:///tmp/data.csv @%my_table; then COPY INTO my_table FROM @%my_table
AnswerD

The table stage @%my_table is created automatically with the table, so no named stage is needed. PUT uploads the local CSV to that table stage, and COPY INTO reads it into the table. This two-step sequence is the standard simplest path for loading a local file without creating a separate named internal stage.

Why this answer

Every table has an implicit table stage accessible as @%table_name, which requires no manual creation. Uploading the local file with PUT to the table stage and then running COPY INTO from that stage is the simplest way to load a single local CSV without provisioning a named internal stage. This satisfies the no-named-stage constraint directly.

Exam trap

The trap here is believing COPY INTO can read a local file path directly, when local files must always be staged with PUT first.

100
MCQhard

Refer to the exhibit. Which Snowflake security feature is represented by this JSON definition?

A.Row-level Security
B.Column-level Masking
C.Access Control List
D.Data Projections
AnswerB

The exhibit defines a masking policy that evaluates the user's role and returns either the raw value or a masked string. This is the definition of column-level masking, where the data representation changes based on the user's authorization level during query time, protecting sensitive values.

Why this answer

Masking policies allow for fine-grained access control by obfuscating data based on the user's role. This is a crucial component of Snowflake's column-level security. By applying this policy to a column, sensitive data like PII is automatically hidden from unauthorized users while remaining visible to authorized administrators, ensuring compliance with data privacy regulations without needing multiple versions of the same table.

Exam trap

Candidates frequently confuse Column-level Masking with Row Access Policies. Masking specifically hides or obfuscates the data inside a column, whereas Row Access Policies determine which rows a user can see.

101
MCQmedium

A data engineer is loading a 4 GB CSV file from an external stage into a Snowflake table using COPY INTO. The file is compressed with gzip and has a header row. The engineer notices the load is taking longer than expected. Which action is MOST likely to improve performance?

A.Enable the PURGE option to remove the file after loading.
B.Increase the warehouse size to a larger size.
C.Use a larger file format option to skip the header.
D.Split the file into multiple smaller files and load them in parallel.
AnswerD

Splitting a large file into multiple smaller files allows Snowflake to load them in parallel using multiple threads, significantly improving performance. This is a best practice for large data loads. The recommended size per file is 100-250 MB compressed.

Why this answer

Splitting large files into multiple smaller files enables parallel loading, which is a key performance optimization for COPY INTO. Snowflake can distribute the load across multiple threads when multiple files are present, reducing overall load time.

Exam trap

The trap here is assuming that increasing warehouse size alone will always speed up a single large file load, but Snowflake cannot parallelize within a single file.

102
MCQeasy

A data engineer is analyzing a slow query and notices that the Query Profile shows a high percentage of time spent in 'TableScan' with many partitions scanned but few rows returned. Which action is most likely to improve performance?

A.Enable the Search Optimization Service on all columns.
B.Use a larger warehouse with more clusters.
C.Add a clustering key on the columns used in the filter predicates.
D.Increase the size of the virtual warehouse.
AnswerC

Clustering reorganizes the micro-partitions so that data with similar values is stored together. This improves partition pruning, reducing the number of partitions scanned for filter predicates. In this scenario, the high number of partitions scanned indicates poor pruning, which clustering can directly address.

Why this answer

The Query Profile indicates excessive partitions scanned, which is a sign of poor partition pruning. Clustering the table on the filter columns can co-locate similar values, allowing the optimizer to skip more partitions. Increasing warehouse size or clusters does not reduce the amount of data read, and enabling Search Optimization on all columns is not a focused fix.

Exam trap

The trap here is thinking that more compute resources (larger warehouse or more clusters) will solve a data scanning inefficiency, when the real fix is improving partition pruning.

103
MCQmedium

Which feature allows Snowflake to automatically utilize results from previous queries without consuming compute resources?

A.Warehouse Caching
B.Query Result Cache
C.Metadata Cache
D.Micro-partition Pruning
AnswerB

The Query Result Cache is a persistent storage feature in the Cloud Services layer that holds the output of queries. Because it stores the finished result sets, the system can return the data without executing the query plan, which requires zero compute usage from the warehouse.

Why this answer

The Query Result Cache stores the results of queries for 24 hours. If an identical query is executed and the underlying data has not changed, Snowflake returns the result from the cache immediately. This avoids the need to spin up or use warehouse compute resources, providing near-instant responses while significantly reducing costs.

It is a critical component for optimizing dashboard performance and reducing redundant processing of static data in analytical environments.

Exam trap

Candidates frequently confuse the Query Result Cache with the Data Cache (Warehouse Cache). The Result Cache is global and requires no warehouse compute, while the Data Cache lives on the warehouse.

104
MCQhard

Which of the following describes the behavior of Snowflake's 'Query Profile' when encountering a join that produces a large Cartesian product?

A.The query optimizer automatically detects the Cartesian product and rejects the SQL.
B.The Query Profile shows a massive increase in rows at the join operator compared to inputs.
C.The Query Profile automatically suggests a specific WHERE clause to fix the join.
D.The Query Profile reports a 'Cartesian Product Error' and halts execution.
AnswerB

A Cartesian product is visually identified in the Query Profile by a sudden, massive jump in the number of rows processed by the join operator. This mismatch between the input row counts and the output row count is a definitive indicator of an accidental cross-join that requires immediate query refactoring.

Why this answer

A Cartesian product occurs when a join lacks a proper join condition, causing each row in one table to match every row in the other. This results in a massive explosion of intermediate records. The Query Profile clearly shows this as a 'Join' operator with a high number of output rows compared to the input.

Recognizing this pattern is vital for debugging performance issues, as these joins are almost always unintentional and cause severe latency.

Exam trap

Candidates often look for 'high memory usage' as the primary indicator, ignoring the 'join operator' row count discrepancy which is the definitive visual sign of a Cartesian product.

105
MCQmedium

A consumer has created a database from a share. They want to grant their 'ANALYST' role the ability to query the tables within this shared database. Which privilege should they grant to the role?

A.GRANT SELECT ON ALL TABLES IN DATABASE <shared_db> TO ROLE ANALYST;
B.GRANT USAGE ON DATABASE <shared_db> TO ROLE ANALYST;
C.GRANT IMPORTED PRIVILEGES ON DATABASE <shared_db> TO ROLE ANALYST;
D.GRANT OWNERSHIP ON DATABASE <shared_db> TO ROLE ANALYST;
AnswerC

The IMPORTED PRIVILEGES grant is the correct and mandatory way for a consumer to authorize a local role to access a shared database. It effectively passes through all the privileges defined by the provider in the share to the specified local role, ensuring that the analyst can query the tables and views as intended.

Why this answer

When a consumer mounts a share, the resulting database is special. To allow other roles in their account to use it, they use the 'IMPORTED PRIVILEGES' grant. This is a bulk grant that conveys the necessary permissions (like USAGE and SELECT) on all objects within the shared database to a local role, simplifying the permission management for the consumer.

Exam trap

Candidates frequently try granting standard USAGE or SELECT privileges directly on shared databases, failing to remember that shared databases require the special IMPORTED PRIVILEGES grant.

106
MCQhard

Refer to the exhibit. If a user with the 'ANALYST' role queries a table protected by this policy, what will they see?

A.The actual email addresses.
B.The string '***@***.com'.
C.An error message indicating insufficient privileges.
D.NULL values.
AnswerB

Because the 'ANALYST' role is not part of the allowed list, the policy execution falls through to the default masking value defined in the ELSE clause. This ensures that sensitive information is properly obscured for unauthorized users, maintaining the integrity of the data governance policy.

Why this answer

The MASKING POLICY uses the CURRENT_ROLE() function to determine visibility. Since the 'ANALYST' role is not included in the 'IN' clause of the CASE statement, the query will evaluate to the ELSE condition. Consequently, the sensitive email data will be replaced by the literal string '***@***.com'.

This demonstrates how attribute-based access control works in Snowflake, ensuring that sensitive data exposure is restricted based on the user's active role.

Exam trap

Candidates often misread conditional masking logic, assuming unauthorized roles see null values or errors instead of the explicit mask output.

107
MCQeasy

What is the most efficient way to perform a bulk load of data into Snowflake from a local file system?

A.Execute multiple individual INSERT INTO statements in a transaction.
B.Use the COPY INTO command to load data from an internal or external stage.
C.Use the Snowflake UI 'Load Data' wizard for all production workloads.
D.Use an external table to query the data without loading it into Snowflake.
AnswerB

The COPY INTO command is the standard and most performant method for loading data. It leverages Snowflake's massively parallel processing architecture to ingest files from a stage, providing high throughput and the ability to handle large volumes of data efficiently while minimizing compute consumption and total latency.

Why this answer

The recommended approach for bulk loading is to use an internal stage or external cloud storage combined with the COPY INTO command. This pattern separates the data staging from the loading process, allowing for parallel processing and robust error handling. Understanding this workflow is fundamental to data engineering on Snowflake, as it optimizes throughput and minimizes the overhead associated with inserting data via individual DML statements, which is inefficient.

Exam trap

Candidates frequently choose individual INSERT statements or slow procedural loops for bulk loading, ignoring the speed and efficiency of staged COPY INTO operations.

108
MCQmedium

An organization wants to simplify its data pipeline by automatically updating target tables whenever new data arrives in the source tables, without manually managing tasks or streams. Which Snowflake feature is designed for this architectural pattern?

A.Materialized Views
B.Snowpipe Streaming
C.Dynamic Tables
D.External Functions
AnswerC

Dynamic Tables allow engineers to define the results of a query as a table that Snowflake automatically keeps up to date. This feature simplifies the architecture of data pipelines by shifting from an imperative model (managing 'how' and 'when' to move data) to a declarative model (defining 'what' the final data should look like).

Why this answer

Dynamic Tables are a declarative way to define data transformations. Instead of writing complex code to manage streams and tasks, users provide a SQL query that defines the desired end state. Snowflake's architecture then automatically manages the scheduling and incremental processing required to keep the target table synchronized with the source data based on a target 'lag'.

Exam trap

Candidates often suggest manually orchestrating Streams and Tasks, missing that Dynamic Tables are specifically built to automate declarative transformations with a target lag.

109
MCQeasy

A Snowflake administrator needs to grant USAGE on a virtual warehouse named ANALYTICS_WH to a role named ANALYST_ROLE. Which SQL command accomplishes this?

A.ALTER WAREHOUSE ANALYTICS_WH SET ROLE ANALYST_ROLE;
B.GRANT USAGE ON DATABASE ANALYTICS_WH TO ROLE ANALYST_ROLE;
C.GRANT OPERATE ON WAREHOUSE ANALYTICS_WH TO ROLE ANALYST_ROLE;
D.GRANT USAGE ON WAREHOUSE ANALYTICS_WH TO ROLE ANALYST_ROLE;
AnswerD

This command grants the USAGE privilege on the virtual warehouse ANALYTICS_WH to the role ANALYST_ROLE. In Snowflake, roles require USAGE privilege on a warehouse to start it and run queries. The syntax GRANT privilege ON object_type object_name TO ROLE role_name is correct for virtual warehouses. This is the standard way to allow a role to use compute resources.

Why this answer

To allow a role to use a virtual warehouse, you must grant the USAGE privilege on that warehouse to the role. The correct syntax uses GRANT USAGE ON WAREHOUSE <name> TO ROLE <role>. This enables the role to start the warehouse and execute queries.

Other privileges like OPERATE or MODIFY are for administrative control, not query usage. The database and ALTER WAREHOUSE approaches are incorrect object types or commands.

Exam trap

The trap here is confusing the USAGE privilege on a warehouse with privileges on databases or schemas, or assuming that OPERATE privilege is sufficient for query execution.

110
MCQmedium

A data architect is designing a multi-cluster warehouse to handle unpredictable bursts in query volume. Which architectural feature ensures that the warehouse automatically scales out to maintain performance without manual intervention?

A.Warehouse auto-suspend
B.Query result cache
C.Multi-cluster warehouse scaling
D.Warehouse resizing
AnswerC

Multi-cluster scaling allows the warehouse to automatically start additional clusters based on the defined load. When queries queue, Snowflake triggers the creation of extra clusters up to the defined maximum, ensuring that incoming workloads are distributed across available resources to maintain consistent response times for all users.

Why this answer

Multi-cluster warehouses use a scaling policy to automatically start and stop clusters based on the current load. This is critical for Snowflake's elasticity, allowing the system to handle concurrent users efficiently while controlling costs. By configuring the minimum and maximum cluster counts, the architect ensures the platform scales dynamically to meet demand, preventing performance bottlenecks during peak processing times while minimizing resource idle time during low activity.

Exam trap

Test-takers frequently confuse 'scaling up' (resizing the warehouse) with 'scaling out' (adding clusters in a multi-cluster warehouse) when dealing with high concurrent user concurrency.

111
MCQhard

A provider wants to share a dynamic table with a consumer. The dynamic table is defined on a base table that is not shared. What must the provider ensure for the consumer to query the dynamic table?

A.The provider must grant SELECT on the base table to the share.
B.The dynamic table must be refreshed before sharing.
C.The consumer must be granted the ability to refresh the dynamic table.
D.The dynamic table must be added to the share, and the dynamic table owner must have the necessary privileges on the base table.
AnswerD

Dynamic tables can be shared like regular tables. The consumer queries the dynamic table directly, and it executes with the owner's privileges. Therefore, the provider must add the dynamic table to the share and ensure the dynamic table owner has SELECT on the base table. The consumer does not need access to the base table.

Why this answer

Dynamic tables can be shared directly. The consumer queries the dynamic table, which executes with the owner's privileges. The provider must add the dynamic table to the share and ensure the owner has SELECT on the base table.

The consumer does not need any privileges on the base table. This allows sharing of transformed data without exposing the source.

Exam trap

The trap here is assuming the consumer needs access to the base table, when dynamic tables execute with the owner's rights.

112
MCQmedium

A data engineer is loading streaming events through Snowpipe. The ingest rate spikes unpredictably, causing queued files to wait several minutes before loading, while the target table is queried heavily by BI users. The engineer wants Snowpipe processing to scale independently of the BI virtual warehouse so that neither workload interferes with the other. Which Snowflake feature should the engineer leverage to achieve this?

A.Rely on Snowflake-managed compute that Snowpipe uses serverlessly to load files without consuming user warehouse resources.
B.Enable multi-cluster scaling on the BI virtual warehouse so both workloads share its compute.
C.Create a dedicated virtual warehouse and configure Snowpipe to run all its COPY statements on that warehouse.
D.Increase the size of the existing BI virtual warehouse so it can absorb the additional Snowpipe load.
AnswerA

Snowpipe uses Snowflake-managed compute resources provided by the Cloud Services layer, so file ingestion runs independently of any user-provisioned virtual warehouse. This means BI queries on the virtual warehouse and Snowpipe loads do not compete for the same compute, allowing each to scale on its own and resolving the contention described in the scenario.

Why this answer

Snowpipe performs continuous data ingestion using compute resources managed by Snowflake rather than a user-created virtual warehouse. Because its compute is separate from the warehouse serving BI queries, ingest and query workloads scale independently, eliminating the interference described. This architecture is what allows Snowpipe to load files promptly even when users are actively querying the target tables.

Exam trap

The trap here is assuming Snowpipe runs on a user virtual warehouse and can therefore be isolated by assigning it a separate warehouse.

113
MCQmedium

When sharing data via the Snowflake Marketplace, what architectural component ensures that the consumer sees the most up-to-date data without the provider having to re-send files?

A.The use of Secure Views to filter data for the consumer.
B.Snowflake's metadata-driven architecture that shares pointers to micro-partitions.
C.Automatic replication of the shared database to the consumer's account.
D.The Cloud Services layer caching the shared results for the consumer.
AnswerB

Because Snowflake separates metadata from physical storage, a provider can grant a consumer access to specific metadata. When the consumer runs a query, their virtual warehouse reads the provider's micro-partitions directly. This eliminates the need for data movement (ETL) and ensures that any updates made by the provider are immediately visible to the consumer.

Why this answer

Snowflake Data Sharing is built on a multi-tenant metadata architecture. When a provider shares a database, they are not moving or copying the physical data. Instead, they are sharing the metadata that points to the underlying micro-partitions.

This means the consumer always queries the live data stored in the provider's account, ensuring real-time access and consistency.

Exam trap

Candidates often think data sharing involves copying or replicating files to the consumer, failing to understand that Snowflake shares only the metadata pointers to the provider's micro-partitions.

114
Multi-Selectmedium

A Snowflake administrator is configuring a new virtual warehouse for a data science team. The team requires the ability to run multiple concurrent queries without queuing, and they want to minimize credit consumption during idle periods. The administrator needs to configure the warehouse with appropriate settings. Which two actions should the administrator take? (Choose two.)

Select 2 answers
A.Enable multi-cluster warehouse with auto-scaling.
B.Configure the warehouse to use a smaller size to reduce credits.
C.Set the warehouse to auto-resume when a query is submitted.
D.Set the warehouse to auto-suspend after a short period of inactivity.
E.Enable the query result cache to avoid re-execution.
AnswersA, D

Multi-cluster warehouses with auto-scaling automatically add clusters when queries are queued and remove them when they are no longer needed. This allows multiple concurrent queries to run without queuing, as additional clusters provide more compute resources. It also helps minimize credit consumption because clusters are only added when required. This setting directly addresses the need for concurrency without queuing while controlling costs.

Why this answer

To handle multiple concurrent queries without queuing, enabling multi-cluster warehouse with auto-scaling allows Snowflake to add clusters dynamically as needed. To minimize credit consumption during idle periods, setting a short auto-suspend period ensures the warehouse stops when not in use. Together, these settings provide both concurrency and cost efficiency.

Other options either do not address the requirements or could hinder performance.

Exam trap

The trap here is focusing on auto-resume or result caching, which are helpful but do not directly solve the concurrency and idle cost requirements.

115
MCQeasy

What is the primary benefit of using a Search Optimization Service (SOS) in Snowflake?

A.It speeds up complex joins and aggregations.
B.It significantly improves the performance of point-lookup queries.
C.It automatically compresses data to reduce storage costs.
D.It allows multiple users to write to the same table simultaneously.
AnswerB

Search Optimization Service creates and maintains a persistent index on specific columns, which allows for very fast retrieval of individual records. This service is specifically built for point-lookup queries, drastically reducing the latency for finding a few rows in a table containing millions or billions of total rows.

Why this answer

The Search Optimization Service is designed to accelerate point-lookup queries that return a single row or a small subset of rows. By maintaining a persistent index of the data in the background, SOS allows the query optimizer to skip irrelevant micro-partitions and navigate directly to the specific data requested. This is crucial for applications that require low-latency response times for highly specific lookups on massive datasets, significantly reducing the compute load for those specific query patterns.

Exam trap

Candidates frequently confuse the Search Optimization Service with clustering keys or standard indexes, failing to identify SOS as the tool for point-lookups.

116
MCQeasy

A consumer has created a database from a share provided by a partner. The consumer wants to allow a specific role, ANALYST_ROLE, to query the shared data. Which privilege must the consumer grant to ANALYST_ROLE on the shared database?

A.OWNERSHIP
B.IMPORTED PRIVILEGES
C.USAGE
D.SELECT
AnswerB

When a consumer creates a database from a share, they must grant the IMPORTED PRIVILEGES privilege on that database to roles that need access. This privilege allows the role to access the shared objects as if they were local, including querying tables and views. It is the standard way to enable access to shared data.

Why this answer

To allow a role to query data in a database created from a share, the consumer must grant the IMPORTED PRIVILEGES privilege on that database to the role. This privilege grants access to the shared objects, including SELECT on tables and views. It is the correct and only privilege that enables access to shared data.

Exam trap

The trap here is assuming that granting USAGE on the database is sufficient, but USAGE only allows visibility of the database, not querying of its objects.

117
Multi-Selecthard

A data engineer is configuring Snowpipe to automatically ingest files as they arrive in an external S3 stage. They must ensure the pipe loads only files matching a specific path prefix and that duplicate notifications for the same file do not cause duplicate rows. Which two configurations should they apply? (Choose two.)

Select 2 answers
A.Rely on the S3 event notification configuration to prevent duplicate notifications from being sent.
B.Define the pipe with a COPY INTO statement that includes a PATTERN option matching the desired path prefix.
C.Set the pipe parameter FORCE = TRUE so that every notification reloads the file.
D.Configure the pipe with AUTO_INGEST = TRUE and a notification channel, and set ON_ERROR = 'CONTINUE'.
E.Ensure the pipe uses the default load metadata tracking so that already-loaded files are skipped on subsequent notifications.
AnswersB, E

The PATTERN option in the COPY statement filters which staged files the pipe ingests by applying a regular expression to the file path. This restricts ingestion to files under the desired prefix, satisfying the requirement to load only matching files. Without it, the pipe would attempt to load every file delivered by the notification, which is broader than intended.

Why this answer

Filtering by path is achieved with the PATTERN option in the pipe's COPY statement, which restricts ingestion to matching files. Duplicate prevention comes from Snowpipe's load metadata, which records each loaded file by name and checksum and skips repeats even if notifications are delivered multiple times. Together these two settings satisfy both the prefix restriction and the deduplication requirement.

Exam trap

The trap here is trusting S3 event notifications to deliver exactly once, when duplicate deliveries are possible and deduplication must come from Snowflake.

118
MCQmedium

A data engineer runs a query that joins a large fact table to a small dimension table. The Query Profile shows a Cartesian join with massive intermediate row counts. The join condition in the SQL is `ON fact.dim_id = dim.id`. The dimension table has a primary key on `id` and the fact table has a foreign key referencing it, but neither constraint is enforced. Which action will most reliably eliminate the Cartesian join and produce the expected result?

A.Increase the size of the virtual warehouse to provide more memory for the join operation.
B.Rewrite the join to use `NATURAL JOIN` so Snowflake automatically infers the join key from matching column names.
C.Add a `CLUSTER BY` clause on the fact table's `dim_id` column to improve join locality.
D.Ensure the join predicate is actually included in the query and that the dimension table's `id` column is not wrapped in a function or cast that prevents hash-join matching.
AnswerD

A Cartesian join in the Query Profile typically means the optimizer could not derive an equi-join condition. This happens when the predicate is missing, commented out, or when one side is wrapped in a non-sargable expression such as `CAST(dim.id AS VARCHAR)`. Verifying the predicate is present and that both sides are directly comparable allows Snowflake to choose a hash join and eliminate the cross-product.

Why this answer

A Cartesian join in the Query Profile almost always indicates the optimizer could not identify an equi-join predicate. Common causes include a missing or mistyped join condition, or a function or cast applied to the join column on one side, which prevents hash-join matching. Confirming the predicate exists and that both columns are directly comparable restores the intended hash join.

Clustering, natural joins, and warehouse resizing do not fix join semantics.

Exam trap

The trap here is assuming that a Cartesian join is a performance problem solved by scaling the warehouse, when it is actually a logical plan problem caused by an ineffective or missing join predicate.

119
Multi-Selecthard

A data engineer is optimizing a complex query that joins multiple large tables and applies several aggregations. The Query Profile shows significant time spent in the Join and Aggregate operators, and the warehouse is sized appropriately. Which TWO actions should the engineer take to improve performance? (Choose two.)

Select 2 answers
A.Collect statistics on the join keys and filter columns.
B.Use a larger virtual warehouse to increase compute resources.
C.Ensure that the join keys are of the same data type and avoid implicit casting.
D.Add search optimization service to the tables involved in the join.
E.Rewrite the query to use temporary tables for intermediate results.
AnswersA, C

Collecting statistics on join keys and filter columns provides the optimizer with accurate cardinality estimates, enabling it to choose better join orders and aggregation strategies. This can reduce the amount of data shuffled and processed, directly improving the performance of Join and Aggregate operators. It is a key tuning step for complex queries.

Why this answer

The query is experiencing bottlenecks in join and aggregation operations despite adequate warehouse size. Collecting statistics on join keys and filter columns gives the optimizer the information it needs to generate a more efficient plan, such as choosing the optimal join order and aggregation method. Additionally, ensuring that join keys have the same data type avoids implicit casting, which can hinder performance by preventing the use of efficient join algorithms.

Together, these actions address the root causes of the performance issue.

Exam trap

The trap here is assuming that increasing warehouse size or adding search optimization will solve join and aggregation bottlenecks, when the real issue is often missing statistics or data type mismatches.

120
MCQmedium

A data engineer is building a transformation pipeline that processes semi-structured JSON data. The pipeline needs to extract values from nested objects and arrays and output a relational table. The engineer wants to minimize manual coding and ensure the transformation is maintainable. Which Snowflake feature should the engineer use?

A.The PARSE_JSON function to convert the JSON into a relational table automatically.
B.The OBJECT_CONSTRUCT function to build a relational schema from the JSON keys.
C.The TRY_CAST function to coerce the entire JSON column into a relational table.
D.The FLATTEN function with LATERAL joins to explode arrays and extract nested fields.
AnswerD

FLATTEN is a table function that takes a VARIANT column and produces one row per element in an array or per key-value pair in an object. Used with LATERAL, it can explode nested arrays and objects into relational rows. This is the standard Snowflake approach for transforming semi-structured data into a relational format, and it is maintainable and flexible for nested structures.

Why this answer

FLATTEN is designed to transform semi-structured data by expanding arrays and objects into rows. When combined with LATERAL, it can be applied to each row of a base table, producing a relational output that includes the exploded elements. This approach handles nested structures and is more maintainable than manual string parsing or repeated path expressions.

PARSE_JSON only parses text into VARIANT, while OBJECT_CONSTRUCT and TRY_CAST serve different purposes. FLATTEN is the correct feature for relational transformation of JSON.

Exam trap

The trap here is assuming that PARSE_JSON or OBJECT_CONSTRUCT can flatten nested JSON, when they only parse or construct semi-structured values without relational expansion.

121
MCQeasy

A data scientist wants to create a copy of a 100 TB production table to test a new transformation logic. How does Snowflake’s Zero-copy Cloning architecture handle this request?

A.Snowflake creates a physical copy of all 100 TB of data in a new storage bucket.
B.The new table shares the same metadata and micro-partitions as the original table.
C.The clone is a 'read-only' view of the original table and cannot be modified.
D.Cloning requires a running virtual warehouse to copy the data blocks to the new table.
AnswerB

When a clone is created, Snowflake simply duplicates the metadata that defines the table structure and its associated micro-partitions. Both the original and the clone point to the same immutable data files. This architecture allows the clone to be independent for DML operations while initially occupying no additional storage space beyond metadata.

Why this answer

Zero-copy cloning is a metadata-only operation in Snowflake. Instead of physically duplicating the data, Snowflake creates new metadata entries that point to the existing micro-partitions of the source table. This allows for instantaneous creation of large clones without consuming additional storage space until changes are made to the clone, at which point new micro-partitions are created.

Exam trap

Candidates often incorrectly assume that cloning requires physical storage space proportional to the original table size, missing the fact that it is a metadata-only operation consuming no initial storage.

122
Multi-Selecthard

A provider is preparing to share a secure view that references a table in another database. The provider must ensure the consumer can query the view but cannot access the base table. Which two actions must the provider take? (Choose two.)

Select 2 answers
A.Grant SELECT on the secure view to the share.
B.Grant SELECT on the base table to the share.
C.Create a new role that has access to the base table and grant that role to the share.
D.Grant USAGE on the database and schema containing the base table to the share.
E.Grant USAGE on the database and schema containing the secure view to the share.
AnswersA, E

Granting SELECT on the secure view to the share is necessary for the consumer to query the view. This privilege allows the consumer to read data from the view. The provider must also grant USAGE on the containing database and schema. Together, these grants enable access to the view while keeping the base table private.

Why this answer

To share a secure view that references a table in another database, the provider must grant USAGE on the database and schema containing the view, and SELECT on the view, to the share. These two grants allow the consumer to query the view. The base table remains private because the view executes with the owner's rights, and no privileges on the base table are granted.

Exam trap

The trap here is thinking that the base table's database must also be shared or that a role must be granted to the share, but secure views use owner's rights and shares accept only direct object privileges.

123
Multi-Selecthard

A data engineer is optimizing a transformation pipeline and wants to reduce compute cost and improve performance for queries that repeatedly scan the same large table with different filters. Which TWO Snowflake features or techniques directly support this goal? (Choose two.)

Select 2 answers
A.Create a materialized view that pre-aggregates the filtered results.
B.Define a clustering key on the columns most frequently used in WHERE predicates.
C.Disable the result cache at the account level to force fresh execution.
D.Convert the table to a transient table to avoid fail-safe storage charges.
E.Increase the STATEMENT_TIMEOUT_IN_SECONDS parameter for the session.
AnswersA, B

A materialized view stores precomputed results and is automatically maintained by Snowflake, so repeated queries against the same aggregated data avoid rescanning the base table. Snowflake can also rewrite eligible queries to use the materialized view. This reduces compute for recurring aggregation patterns, directly supporting the stated optimization goal.

Why this answer

Clustering and materialized views both attack the cost of repeated scans. Clustering reduces the micro-partitions read by improving pruning on filtered columns, while materialized views precompute and maintain aggregated results so recurring queries avoid touching the base table. Together they cut compute for the described pattern, whereas timeout settings, cache disabling, and transient storage do not improve scan efficiency.

Exam trap

The trap here is confusing cost-control or storage settings with genuine query-performance features, since parameters like timeouts and table types sound optimization-adjacent but do not reduce scanned data.

124
MCQhard

Refer to the exhibit. What happens if a user with the 'ANALYST' role queries the 'ssn' column protected by this policy?

A.The query fails with an 'Access Denied' error.
B.The column value is replaced with the masked output.
C.The query returns NULL for all rows.
D.The user sees the unmasked ssn data.
AnswerB

The logic dictates that the policy checks if the role is 'HR_ADMIN'. Since the 'ANALYST' role does not match this, the condition is false. Consequently, Snowflake applies the masking function to the 'ssn' column, returning a masked value to the user to protect the PII data.

Why this answer

When a masking policy is applied, Snowflake evaluates the condition at query runtime. If the condition evaluates to FALSE for the current user's role, Snowflake replaces the data with the masked value defined in the policy. This ensures that sensitive data is only revealed to authorized users, protecting the organization from unauthorized data exposure while allowing the schema and query logic to remain unchanged for all users.

Exam trap

Candidates frequently assume that a masking policy will cause the query to fail or return an error for unauthorized users, rather than simply returning the masked, redacted data value.

125
MCQmedium

A provider wants to ensure that a Reader Account they created does not exceed a budget of 50 credits per month. What is the most effective way to implement this control?

A.Set a hard limit on the 'READER_ACCOUNT_CREDITS' parameter in the provider account settings.
B.Create a Resource Monitor in the provider account and assign it to the Reader Account.
C.Ask the consumer to monitor their own usage and stop querying when they hit 50 credits.
D.The provider must manually drop the Reader Account once the 50-credit threshold is reached each month.
AnswerB

Resource Monitors allow providers to set quotas on credit consumption for a specific time interval, such as monthly. When the Reader Account's warehouses consume credits, the monitor tracks the total. If the limit is reached, the monitor can automatically suspend the Reader Account's compute resources, preventing further unbudgeted costs.

Why this answer

Since the provider is responsible for the costs of a Reader Account, they must have tools to manage that expenditure. Resource Monitors are the standard Snowflake mechanism for this. A provider can create a resource monitor and associate it with the Reader Account (or the warehouses within it) to track credit usage and trigger actions like alerting or suspending the warehouse.

Exam trap

Candidates often incorrectly suggest using Account-level parameters or external billing tools, forgetting that Resource Monitors are the native Snowflake feature designed specifically for credit budget management.

126
MCQhard

A data engineer must continuously load Parquet files arriving in an external Azure stage into a Snowflake table. The files have no consistent naming pattern and arrive at unpredictable intervals. The engineer wants Snowflake to detect and load new files automatically without running COPY on a schedule. Which Snowflake feature should be configured?

A.Streams and tasks on the target table
B.A scheduled task that runs COPY INTO every five minutes
C.An external table with automatic refresh enabled
D.Snowpipe with a cloud messaging notification integration
AnswerD

Snowpipe combined with an event notification from the cloud provider triggers loads when new files land in the external stage, which matches the requirement for automatic, event-driven ingestion without polling. It also tracks loaded files in load metadata so duplicate loads are avoided. This is the documented mechanism for continuous loading from external cloud storage in Snowflake.

Why this answer

Snowpipe is designed for continuous, event-driven ingestion from external stages, and pairing it with a notification integration lets the cloud provider push file-arrival events to Snowflake. This avoids polling and scheduled COPY runs while using load metadata to prevent reprocessing. External tables, streams, and tasks do not provide automatic file-triggered loading into a native table.

Exam trap

The trap here is treating scheduled COPY tasks or external table refresh as equivalent to event-driven Snowpipe ingestion, when only Snowpipe reacts to file arrival automatically.

127
MCQhard

What is the primary benefit of the Snowflake Query Result Cache compared to a standard warehouse cache?

A.It persists data for longer than 24 hours.
B.It allows for user-defined schema updates.
C.It requires the warehouse to be active.
D.It provides instant performance without compute costs.
AnswerD

Since the result cache is retrieved from the Cloud Services layer, it requires zero compute resources to return. This bypasses the virtual warehouse entirely, resulting in sub-second response times for identical queries and zero credit consumption, which is highly beneficial for dashboards and repeated reporting tasks.

Why this answer

The Query Result Cache is managed by the Cloud Services layer and stores the exact result of a query for 24 hours (provided the underlying data hasn't changed). Unlike the warehouse cache, which is local to a specific virtual warehouse and requires the warehouse to be running, the Result Cache is globally accessible. This provides instantaneous performance for repeat queries without incurring any compute credit costs, regardless of which warehouse or user is requesting the data.

Exam trap

Test-takers often confuse the Query Result Cache with the local Virtual Warehouse cache, assuming that result cache hits still consume compute credits and require an active warehouse.

128
MCQmedium

A security administrator needs to ensure that all data loaded into Snowflake is encrypted using a customer-managed key. Which feature should be configured?

A.Snowflake-managed keys with automatic rotation.
B.Tri-Secret Secure.
C.Always Encrypted feature.
D.Column-Level Security encryption.
AnswerB

Tri-Secret Secure combines a customer-managed key (stored in their cloud provider's key management service) with a Snowflake-managed key. This setup provides an additional layer of security and auditability, ensuring that Snowflake cannot decrypt customer data without access to the customer-provided key material.

Why this answer

Tri-Secret Secure is the Snowflake feature that enables customers to maintain control over their data encryption keys. By combining a customer-managed key with a Snowflake-managed key, the organization ensures that data is encrypted at the storage layer while allowing for key rotation and revocation. This is a vital component for high-compliance industries requiring total control over the data lifecycle and access to encrypted storage buckets.

Exam trap

Candidates often confuse Tri-Secret Secure with standard encryption-at-rest or Time Travel features, failing to recognize it specifically as the customer-managed key integration feature.

129
MCQhard

A provider has created a share and added a table. The consumer reports that they can see the shared database and schema but cannot see the table. The provider confirms the table was added with ALTER SHARE ... ADD TABLE. Which additional privilege must the provider grant to the share so the consumer can query the table?

A.REFERENCES on the table, granted to the share.
B.SELECT on the table, granted to the share.
C.OWNERSHIP on the table, transferred to the share.
D.USAGE on the database and schema containing the table, granted to the share.
AnswerB

Adding a table to a share does not automatically grant SELECT on it. The provider must explicitly grant SELECT on the table to the share. Without this, the consumer can navigate to the table but queries fail with an authorization error. This is the standard step after ALTER SHARE ... ADD TABLE, and it is required for data access.

Why this answer

When a table is added to a share, the provider must also grant SELECT on that table to the share. The consumer already has visibility of the database and schema, so the missing element is table-level read access. Granting SELECT to the share is the documented step that enables queries.

Other privileges like USAGE, REFERENCES, or OWNERSHIP do not provide the needed row-level read permission.

Exam trap

The trap here is believing that adding an object to a share implicitly grants the privileges needed to query it, when SELECT must be granted to the share explicitly.

130
Multi-Selectmedium

A governance team is implementing data classification in Snowflake and wants to use tags to drive both discovery and enforcement. Which TWO capabilities are provided by Snowflake tags in this context? (Choose two.)

Select 2 answers
A.Tags replace the need for role-based access control by granting privileges to users automatically.
B.Tags automatically encrypt the underlying column data at rest.
C.Tags can be attached to tables, columns, and other objects to record classification metadata.
D.Tags can be used in the WHERE clause of a query to filter rows based on the tag value.
E.A masking policy can be associated with a tag so that any column carrying the tag is automatically masked.
AnswersC, E

Snowflake tags are schema-level objects that can be assigned to a wide range of objects, including tables, columns, views, and warehouses. This makes them suitable for recording classification such as PII or sensitivity level directly on the object. The metadata is then queryable, enabling discovery and reporting, which is a core governance use case for tags in a classification program.

Why this answer

Snowflake tags record classification metadata on objects such as tables and columns, supporting discovery and reporting. They also integrate with masking policies through tag-based masking, so any column carrying the tag is automatically protected. Tags do not encrypt data, do not grant privileges, and cannot filter rows in a query, making those options incorrect for this governance use case.

Exam trap

The trap here is treating tags as an access-control or encryption mechanism, when they are metadata labels that can drive masking but do not grant privileges or encrypt data.

131
Multi-Selecthard

A data engineer is configuring a Snowpipe to automatically ingest files as they arrive in an external stage. They need to set up event notifications from the cloud provider to Snowflake. Which two components are required to enable this automated ingestion? (Choose two.)

Select 2 answers
A.A named file format object
B.A task to periodically check for new files
C.A storage integration object in Snowflake
D.A notification integration object in Snowflake
E.An external function to process the notifications
AnswersC, D

A storage integration is a Snowflake object that stores the identity and access management (IAM) credentials for the external cloud storage. It allows Snowflake to securely access the external stage without embedding credentials in the stage definition. For automated Snowpipe ingestion, a storage integration is required to grant Snowflake the necessary permissions to read from the stage. This is a fundamental component.

Why this answer

To enable automated Snowpipe ingestion from an external stage, two key Snowflake objects are required: a storage integration to securely access the external stage, and a notification integration to receive event notifications from the cloud provider. The storage integration provides the necessary permissions, while the notification integration allows Snowpipe to be triggered by events. Other components like file formats or tasks are not required for the event notification setup.

Exam trap

The trap here is overlooking the need for a notification integration and assuming that a storage integration alone suffices for event-driven ingestion.

132
MCQmedium

An organization wants to restrict access to Snowflake based on the source IP address of the client application. Which object should the administrator configure to enforce this network-level security?

A.Authentication Policy
B.Access Control Policy
C.Network Policy
D.Session Policy
AnswerC

A Network Policy is the specific Snowflake object designed to control network access. It allows administrators to create a whitelist of allowed IP addresses and a blacklist of blocked IPs, which can be applied at either the account level or to specific individual users.

Why this answer

Network policies are the primary mechanism for restricting access to Snowflake based on IP addresses. By defining allowed and blocked IP ranges, administrators can protect the account from unauthorized access attempts originating from outside the corporate network. This is a foundational governance task that ensures only trusted traffic can reach the Snowflake service, effectively mitigating risks associated with stolen credentials or external malicious activity.

Exam trap

Candidates often look for 'Firewall' settings in Snowflake. They fail to realize that 'Network Policies' is the specific terminology Snowflake uses for IP-based access control and filtering.

133
MCQmedium

A security team at a healthcare company must guarantee that query results returned from a table named PATIENT_RECORDS are filtered based on the department of the user executing the query, without requiring any changes to existing SQL statements. The policy must evaluate a mapping table that lists each user and their department. Which Snowflake object should be created to meet this requirement?

A.A secure view defined over PATIENT_RECORDS that joins the mapping table.
B.A masking policy applied to the DEPARTMENT column of the PATIENT_RECORDS table.
C.A network policy that limits access to the PATIENT_RECORDS table by department IP ranges.
D.A row access policy attached to the PATIENT_RECORDS table that references a mapping table.
AnswerD

A row access policy is a schema-level object that is attached to a table and evaluated at query time, returning a boolean expression that determines which rows are visible. By referencing a mapping table that correlates the CURRENT_USER() or CURRENT_ROLE() with a department, the policy filters rows automatically without any change to the SQL that users execute.

Why this answer

Row access policies are the Snowflake feature designed to filter rows at query time based on the execution context, such as the current user or role. Because the policy is evaluated dynamically and can join against a mapping table, it enforces per-department visibility transparently: existing SQL statements continue to work, and users see only the rows their department is authorized to view.

Exam trap

The trap here is confusing row-level filtering with column-level masking, since both are policy objects attached to a table but only one removes rows from the result set.

134
MCQmedium

A company's security team wants to ensure that when a user with the role PII_ANALYST queries a table, only rows where the region column equals 'US' are returned, but they do not want to create separate copies of the table for each region. Which Snowflake feature should they implement?

A.Object tagging
B.Secure view
C.Column-level masking policy
D.Row access policy
AnswerD

A row access policy is a schema-level object that filters rows returned by a query based on a condition evaluated at query time. It can use functions like CURRENT_ROLE() to dynamically restrict rows. This directly matches the requirement to return only rows where region equals 'US' for the PII_ANALYST role, without duplicating the table.

Why this answer

A row access policy is designed to filter rows based on a condition evaluated at query time, such as the user's role. By attaching a row access policy to the table, the security team can ensure that PII_ANALYST sees only rows where region equals 'US', while other roles may see different rows or all rows. This avoids data duplication and centralizes access control.

Exam trap

The trap here is confusing column-level masking with row-level filtering, assuming that a masking policy can restrict which rows are returned.

135
MCQeasy

A data analyst runs a dashboard query that aggregates sales by region for the current month. The query has run successfully many times today, but the analyst notices it is returning results in under a second even though the underlying table is very large. The analyst has not changed the query or the data. Which Snowflake feature is most likely responsible for the fast response?

A.Result caching has stored the query result, and the query is being served from the persisted result cache.
B.The query is using the local disk cache on the virtual warehouse.
C.The table is clustered on the region column, allowing partition pruning.
D.The virtual warehouse is configured with a large multi-cluster size.
AnswerA

Snowflake's result cache stores the output of every query for 24 hours. If the same query is re-executed and the underlying data has not changed, Snowflake returns the cached result without re-running the query. This explains the sub-second response for a repeated aggregation on a large table. The cache is invalidated when the data changes or when certain session parameters differ, but in this scenario the analyst has not changed anything.

Why this answer

Result caching in Snowflake stores the complete output of a query for 24 hours. When the same query is re-run and the underlying data has not changed, Snowflake returns the cached result directly without using a warehouse. This yields sub-second response times even for large aggregations.

Clustering, warehouse size, and local disk cache all affect query execution speed but do not store final results, so they cannot explain the instant response.

Exam trap

The trap here is attributing fast repeated queries to warehouse size or clustering, when the persisted result cache is designed to return identical query results without any compute.

136
MCQmedium

A data engineer wants to ensure that data loaded into Snowflake is encrypted at rest and in transit. Which Snowflake architecture component handles the encryption and decryption processes automatically without requiring user-managed keys or manual intervention?

A.The Virtual Warehouse compute engine
B.The Snowflake Cloud Services layer
C.The Snowflake Stage object configuration
D.The Snowflake Database Catalog
AnswerB

The Cloud Services layer manages the orchestration of data security, including the automated key management service (KMS). It handles the encryption of data at rest and in transit, ensuring that all customer data is protected by default without manual configuration by the end user.

Why this answer

Snowflake utilizes a multi-layered security architecture where encryption is handled transparently by the cloud service layer. Data is automatically encrypted using AES-256 before being written to persistent storage. This architectural feature is critical because it ensures compliance and data protection without adding operational overhead for the end user, allowing architects to focus on data transformation logic rather than managing complex infrastructure security keys.

Exam trap

Candidates often think encryption keys must be managed manually via the Virtual Warehouse layer or created individually for every single database table.

137
MCQeasy

A data engineer needs to transform semi-structured data stored in a VARIANT column. The engineer wants to extract a scalar value from a JSON object and use it in a relational query. Which Snowflake feature should the engineer use?

A.Use the TO_VARCHAR function to cast the entire VARIANT to a string and then use a JSON parser.
B.Use the colon operator (:) to access the value by key, for example variant_column:key_name.
C.Use the FLATTEN function to explode the JSON object into rows.
D.Use the PARSE_JSON function to convert the VARIANT to a string and then use string functions.
AnswerB

The colon operator allows direct access to a value within a VARIANT column using a key or path. For a JSON object, `variant_column:key_name` returns the value associated with that key. This is the simplest and most efficient way to extract a scalar value for use in a relational query. It is a core feature of Snowflake's semi-structured data support and does not require additional functions or table functions.

Why this answer

The colon operator is the standard way to access a scalar value within a VARIANT column in Snowflake. It allows direct key-based access without the need for additional parsing or row expansion, making it ideal for extracting a single value for relational queries.

Exam trap

The trap here is overcomplicating the extraction by using FLATTEN or string conversion when a simple path expression is sufficient and more efficient.

138
Multi-Selectmedium

An administrator needs to implement a data governance strategy that includes tracking sensitive data and masking PII. Which TWO Snowflake features should be used to achieve this?

Select 2 answers
A.Object Tagging
B.Dynamic Data Masking
C.Search Optimization Service
D.Query Profile
E.Resource Monitors
AnswersA, B

Object Tagging is a feature that allows you to apply metadata labels to Snowflake objects, such as tables or columns. These tags help in identifying and tracking sensitive data across the entire account. Once tagged, administrators can easily run reports to see where sensitive information resides and ensure that appropriate security policies are consistently applied.

Why this answer

Snowflake provides built-in governance features like Object Tagging and Dynamic Data Masking. Object Tagging allows administrators to categorize data (e.g., tagging a column as 'PII'), while Dynamic Data Masking uses policies to redact or obscure sensitive information at query time based on the user's role. Together, these features provide a robust framework for managing data privacy and compliance.

Exam trap

Candidates often select access control roles alone, missing the combination of Object Tagging for classification and Dynamic Data Masking for runtime protection.

139
MCQmedium

When using the Snowflake Connector for Python, which method is most efficient for uploading and loading large local CSV files into a Snowflake table?

A.Iterating through the CSV in Python and executing an INSERT statement for every row found.
B.Using the 'write_pandas' function which automates the PUT and COPY INTO commands internally.
C.Converting the CSV into a single large SQL string and executing it as one massive INSERT.
D.Calling the 'snowflake.load_file' method which bypasses the need for any virtual warehouse.
AnswerB

The write_pandas function is a high-level utility provided by the Snowflake Python Connector. It automatically handles the staging of data (PUT) and the ingestion into the target table (COPY INTO), providing a highly optimized and developer-friendly way to perform bulk loads from a Pandas DataFrame.

Why this answer

The Python Connector offers specialized methods to optimize data movement. For large local files, using the write_pandas method or executing a PUT followed by a COPY command is much more efficient than executing individual INSERT statements, as it leverages Snowflake's bulk loading capabilities and reduces network overhead.

Exam trap

Candidates often suggest using INSERT statements in Python loops. This is extremely slow and inefficient because it generates individual transactions for every row rather than batching data.

140
MCQmedium

A data architect needs to ensure that a specific set of resource-intensive queries always have dedicated compute resources and do not compete with other workloads. Which Snowflake feature should be used?

A.Resource monitors
B.Multi-cluster warehouses
C.Separate virtual warehouses
D.Query acceleration service
AnswerC

Creating a dedicated virtual warehouse for the specific queries ensures they have their own compute resources and do not compete with other workloads. Each virtual warehouse is an independent cluster, so resource-intensive queries on one warehouse do not impact queries on another. This is the standard Snowflake approach for workload isolation.

Why this answer

To guarantee dedicated compute for specific queries and avoid competition, the architect should provision a separate virtual warehouse. Snowflake's architecture separates compute from storage, allowing multiple independent warehouses to access the same data. By assigning the resource-intensive queries to their own warehouse, the architect ensures they have exclusive use of that compute cluster, preventing contention with other workloads.

Exam trap

The trap here is confusing concurrency scaling (multi-cluster warehouses) with workload isolation, when only separate warehouses provide dedicated compute resources.

141
MCQmedium

A data analyst wants to explore semi-structured JSON data stored in a Snowflake table column. They need to extract specific fields and flatten nested arrays. Which Snowflake feature is best suited for this task?

A.VARIANT data type with dot notation and FLATTEN function
B.OBJECT data type with LATERAL VIEW EXPLODE
C.ARRAY data type with UNNEST function
D.String data type with JSON_EXTRACT_PATH_TEXT function
AnswerA

The VARIANT data type natively stores semi-structured data like JSON. Analysts can use dot notation to access fields and the FLATTEN function to explode nested arrays into rows. This combination is the standard Snowflake approach for querying and transforming JSON, providing flexibility and performance without pre-processing.

Why this answer

Snowflake's VARIANT data type is designed for semi-structured data such as JSON. Analysts can access fields using dot notation (e.g., column:field) and use the FLATTEN function to expand arrays into multiple rows. This native support eliminates the need for external processing and allows SQL-based exploration.

The other options reference incompatible data types or functions from other systems.

Exam trap

The trap here is confusing Snowflake syntax with other databases, such as using LATERAL VIEW EXPLODE or UNNEST, which are not supported in Snowflake.

142
MCQmedium

A data engineer is designing a pipeline for a high-frequency stream of small JSON files arriving every minute in an S3 bucket. Why would Snowpipe be preferred over a scheduled COPY INTO command running on a dedicated virtual warehouse?

A.Virtual warehouses are billed per second with a one-minute minimum, making them expensive for frequent small loads.
B.Snowpipe requires manual intervention to trigger loads using the REST API for every single file arriving in the bucket.
C.The COPY INTO command cannot process JSON files directly and requires an intermediate stage to convert data to CSV.
D.Scheduled COPY commands are limited to executing once every hour, which would create significant latency for real-time pipelines.
AnswerA

Virtual warehouses are billed per second with a one-minute minimum, making them expensive for frequent small loads. Snowpipe uses a per-file overhead charge plus compute time, which is more cost-efficient for streaming data patterns that do not require a full warehouse to be active.

Why this answer

Snowpipe provides a serverless compute model that automatically scales based on the volume of data being ingested, which is ideal for small, frequent files. Using a dedicated virtual warehouse for a scheduled COPY command often leads to underutilization or excessive costs because the warehouse remains active for the minimum billing period even if the load finishes in seconds.

Exam trap

Many candidates choose scheduled COPY INTO commands assuming warehouse auto-suspend saves money, forgetting the one-minute minimum billing increment which heavily penalizes frequent, minute-long runs.

143
MCQmedium

A data engineer notices that a query on a large table is consistently slow despite the table being clustered. The query filters on a column that is not part of the clustering key. What is the most efficient way to improve performance for this query?

A.Increase the virtual warehouse size.
B.Create a materialized view on the column.
C.Redefine the clustering key to include the filter column.
D.Convert the table to a temporary table.
AnswerC

Redefining the clustering key to include the filter column allows Snowflake to reorganize the data into micro-partitions that align with the filter criteria. This enables partition pruning, which significantly reduces the total volume of data read from storage, directly addressing the root cause of the query performance bottleneck.

Why this answer

Improving performance requires minimizing the amount of data scanned during query execution. Since the existing clustering key does not align with the query filter, Snowflake must scan more micro-partitions than necessary. By redefining or adding a clustering key that aligns with the frequently used filter column, the query optimizer can prune unnecessary partitions effectively.

This process reduces I/O overhead and significantly speeds up query execution, demonstrating the vital role of data layout in performance.

Exam trap

Many candidates incorrectly suggest creating a secondary index, which does not exist in Snowflake. Others suggest changing the warehouse size, which is inefficient compared to fixing the data layout first.

144
MCQmedium

A data administrator wants to ensure that all data access is audited. Where can they find a list of all tables accessed by a specific user?

A.QUERY_HISTORY.
B.ACCESS_HISTORY.
C.INFORMATION_SCHEMA.TABLES.
D.LOGIN_HISTORY.
AnswerB

The ACCESS_HISTORY view contains a detailed record of all objects touched by every query. This is the primary source of truth for auditing data access patterns. It provides clear, structured information about which users accessed which tables, views, and columns, making it easy to generate audit reports.

Why this answer

The ACCESS_HISTORY view, introduced to enhance Snowflake's governance capabilities, provides a comprehensive log of every object access event. It records which columns were queried and which tables were accessed by specific users. This tool is essential for compliance, allowing administrators to audit who accessed sensitive data and when, fulfilling regulatory requirements like GDPR or HIPAA that demand strict tracking of data usage.

Exam trap

Candidates often suggest looking at QUERY_HISTORY, which only shows the text of the query, not the specific underlying objects or columns accessed by that query.

145
MCQmedium

A provider uses a reader account to share data with a client that does not have its own Snowflake account. The client now reports that it cannot see newly added tables that the provider granted to the share. The provider confirms the new tables were added to the share with SELECT grants. Which statement explains why the client cannot see the new tables?

A.The reader account's shared database must be recreated to pick up new tables.
B.Reader accounts require a separate share for each new table.
C.The provider must grant USAGE on the schema containing the new tables to the share.
D.Reader accounts can only query tables that existed when the reader account was created.
AnswerC

Adding tables to a share requires that the share also holds USAGE on the containing database and schema. If the new tables live in a schema not yet granted to the share, the consumer cannot see them even though SELECT was granted on the tables themselves. Adding the missing USAGE grant resolves the issue.

Why this answer

For any table to be visible through a share, the share needs USAGE on the table's database and schema in addition to SELECT on the table. If the new tables reside in a schema that was never granted to the share, the consumer cannot see them. Granting the missing schema-level USAGE makes the new tables appear to the reader account without recreating anything.

Exam trap

The trap here is assuming that SELECT on a newly added table is enough, when the share also needs USAGE on the schema that contains it.

146
MCQhard

A data engineer notices that a query performing a large aggregation is spilling to remote disk. The warehouse is a 2XL multi-cluster warehouse with maximum clusters set to 4. The engineer wants to reduce spilling and improve performance without increasing the warehouse size. Which action should the engineer take?

A.Rewrite the query to use a smaller aggregation or break it into stages.
B.Increase the maximum cluster count to 8.
C.Enable the query acceleration service for the warehouse.
D.Add a clustering key on the group by columns.
AnswerA

Spilling to remote disk indicates that the aggregation operation requires more memory than available on the warehouse nodes. Rewriting the query to reduce the memory footprint, such as by pre-aggregating data in stages or using smaller groups, can decrease the memory required and avoid spilling. This directly addresses the root cause without increasing warehouse size.

Why this answer

Remote disk spilling occurs when the aggregation operation cannot fit its intermediate results in memory. The most direct way to reduce spilling without increasing warehouse size is to reduce the memory demand of the query itself. Rewriting the query to perform smaller aggregations or breaking it into stages can lower the peak memory usage, allowing the operation to complete within the available memory.

This addresses the underlying issue rather than trying to work around it with additional resources.

Exam trap

The trap here is assuming that adding more clusters or enabling query acceleration will help a single query that is spilling, when in fact those features address concurrency or specific query patterns, not memory-intensive operations.

147
MCQmedium

What is the primary function of the Snowflake metadata store during the query optimization process?

A.To store the actual data rows.
B.To manage the user identity and roles.
C.To enable partition pruning.
D.To perform real-time data compression.
AnswerC

Partition pruning is the process of using metadata to eliminate unnecessary data scans. By checking the min/max values stored in the metadata for each partition, Snowflake avoids loading data that does not meet query criteria. This is the single most important factor in achieving high-performance analytics in Snowflake.

Why this answer

The metadata store contains critical information about every micro-partition, including the range of values (min/max) for each column. During query optimization, Snowflake uses this metadata to 'prune' partitions—effectively ignoring any micro-partitions that cannot possibly contain the data requested. This process dramatically reduces the amount of data scanned from storage, allowing queries on massive datasets to return results in milliseconds rather than minutes.

Exam trap

Candidates often think the metadata store is used for data compression or encryption, rather than its primary performance-related role of partition pruning.

148
MCQmedium

A provider account named PROVIDER_ACCT has created a share named PARTNER_SHARE and granted SELECT on a secure view to it. The provider now needs to make this share available to a specific consumer account named CONSUMER_ACCT. Which single command should the provider execute to accomplish this?

A.GRANT USAGE ON SHARE PARTNER_SHARE TO ACCOUNT CONSUMER_ACCT;
B.ALTER SHARE PARTNER_SHARE ADD ACCOUNT = CONSUMER_ACCT;
C.CREATE SHARE PARTNER_SHARE FOR ACCOUNT = CONSUMER_ACCT;
D.ALTER ACCOUNT CONSUMER_ACCT ADD SHARE PARTNER_SHARE;
AnswerB

The ALTER SHARE ... ADD ACCOUNT statement is the correct mechanism to make an existing share available to a named consumer account. Executing it from the provider account binds the share to the consumer's account locator or organization-qualified name, after which the consumer can create a database from the share. This directly satisfies the requirement of exposing PARTNER_SHARE to CONSUMER_ACCT.

Why this answer

Sharing to a specific consumer requires the provider to attach the consumer's account to the share. The ALTER SHARE ... ADD ACCOUNT statement performs this binding and is executed in the provider account.

Once added, the consumer sees the share as an inbound share and can create a database from it, gaining read-only access to the granted objects.

Exam trap

The trap here is assuming shares are granted to accounts the same way privileges are granted to roles, when in fact shares are attached to consumer accounts with ALTER SHARE ... ADD ACCOUNT.

149
MCQeasy

Which Snowflake feature allows a user to download data from a Snowflake table into a local folder on their computer using the SnowSQL command-line interface?

A.The PUT command is used to move files from the local file system into an internal stage.
B.The GET command fetches files from an internal stage and saves them to the local directory.
C.The COPY INTO <location> command moves data from a table directly to a local hard drive.
D.The DOWNLOAD function is a built-in SQL utility that can be called from any worksheet.
AnswerB

The GET command is the standard utility within SnowSQL for downloading files. After using the COPY INTO <location> command to unload table data into an internal stage, the GET command is then executed to move those physical files from the cloud stage to the user's local file system.

Why this answer

The GET command is specifically designed to transfer files from an internal Snowflake stage to a local directory on a client machine. This is the inverse of the PUT command and is essential for retrieving data that has been unloaded from tables into internal stages for local analysis or archival purposes.

Exam trap

Candidates often conflate the GET command with the COPY INTO <location> command, incorrectly assuming that COPY INTO is used to download files to a local machine.

150
MCQmedium

Which TWO of the following statements accurately describe the function of the Snowflake Cloud Services layer?

A.It handles query parsing, compilation, and optimization.
B.It stores the actual table data in micro-partitions.
C.It manages authentication, security, and access control.
D.It provides compute resources to execute DML statements.
E.It performs the final data shuffling for JOIN operations.
AnswerA, C

The Cloud Services layer is responsible for the entire lifecycle of a query request before it is sent to a warehouse for execution. This includes parsing the SQL, validating permissions, compiling the execution plan, and applying advanced optimizations to ensure the query runs as efficiently as possible.

Why this answer

The Cloud Services layer acts as the brain of Snowflake. It handles metadata management, access control, query optimization, and infrastructure coordination. By separating these management tasks from the compute layer, Snowflake ensures that global state is maintained independently of specific compute clusters.

Understanding this layer is fundamental to grasping how Snowflake achieves high availability, security, and performance without requiring users to manage underlying hardware or software configurations directly.

Exam trap

Candidates often confuse the roles of the Cloud Services layer and the Compute (Warehouse) layer, incorrectly attributing query execution or data storage tasks to the Cloud Services layer.

Page 1

Page 2 of 4

Page 3

All pages