ExamGecko
Home Home / Snowflake / ARA-C01

Snowflake ARA-C01 Practice Test - Questions Answers, Page 6

Question list
Search
Search

List of questions

Search

What are purposes for creating a storage integration? (Choose three.)

A.
Control access to Snowflake data using a master encryption key that is maintained in the cloud provider's key management service.
A.
Control access to Snowflake data using a master encryption key that is maintained in the cloud provider's key management service.
Answers
B.
Store a generated identity and access management (IAM) entity for an external cloud provider regardless of the cloud provider that hosts the Snowflake account.
B.
Store a generated identity and access management (IAM) entity for an external cloud provider regardless of the cloud provider that hosts the Snowflake account.
Answers
C.
Support multiple external stages using one single Snowflake object.
C.
Support multiple external stages using one single Snowflake object.
Answers
D.
Avoid supplying credentials when creating a stage or when loading or unloading data.
D.
Avoid supplying credentials when creating a stage or when loading or unloading data.
Answers
E.
Create private VPC endpoints that allow direct, secure connectivity between VPCs without traversing the public internet.
E.
Create private VPC endpoints that allow direct, secure connectivity between VPCs without traversing the public internet.
Answers
F.
Manage credentials from multiple cloud providers in one single Snowflake object.
F.
Manage credentials from multiple cloud providers in one single Snowflake object.
Answers
Suggested answer: B, C, D

Explanation:

A storage integration is a Snowflake object that stores a generated identity and access management (IAM) entity for an external cloud provider, such as Amazon S3, Google Cloud Storage, or Microsoft Azure Blob Storage.This integration allows Snowflake to read data from and write data to an external storage location referenced in an external stage1.

One purpose of creating a storage integration is to support multiple external stages using one single Snowflake object. An integration can list buckets (and optional paths) that limit the locations users can specify when creating external stages that use the integration.Note that many external stage objects can reference different buckets and paths and use the same storage integration for authentication1. Therefore, option C is correct.

Another purpose of creating a storage integration is to avoid supplying credentials when creating a stage or when loading or unloading data. Integrations are named, first-class Snowflake objects that avoid the need for passing explicit cloud provider credentials such as secret keys or access tokens.Integration objects store an IAM user ID, and an administrator in your organization grants the IAM user permissions in the cloud provider account1. Therefore, option D is correct.

A third purpose of creating a storage integration is to store a generated IAM entity for an external cloud provider regardless of the cloud provider that hosts the Snowflake account. For example, you can create a storage integration for Amazon S3 even if your Snowflake account is hosted on Azure or Google Cloud Platform.This allows you to access data across different cloud platforms using Snowflake1. Therefore, option B is correct.

Option A is incorrect, because creating a storage integration does not control access to Snowflake data using a master encryption key. Snowflake encrypts all data using a hierarchical key model, and the master encryption key is managed by Snowflake or by the customer using a cloud provider's key management service.This is independent of the storage integration feature2.

Option E is incorrect, because creating a storage integration does not create private VPC endpoints. Private VPC endpoints are a network configuration option that allow direct, secure connectivity between VPCs without traversing the public internet.This is also independent of the storage integration feature3.

Option F is incorrect, because creating a storage integration does not manage credentials from multiple cloud providers in one single Snowflake object.A storage integration is specific to one cloud provider, and you need to create separate integrations for each cloud provider you want to access4.

What built-in Snowflake features make use of the change tracking metadata for a table? (Choose two.)

A.
The MERGE command
A.
The MERGE command
Answers
B.
The UPSERT command
B.
The UPSERT command
Answers
C.
The CHANGES clause
C.
The CHANGES clause
Answers
D.
A STREAM object
D.
A STREAM object
Answers
E.
The CHANGE_DATA_CAPTURE command
E.
The CHANGE_DATA_CAPTURE command
Answers
Suggested answer: C, D

Explanation:

The built-in Snowflake features that make use of the change tracking metadata for a table are the CHANGES clause and a STREAM object.The CHANGES clause enables querying the change tracking metadata for a table or view within a specified interval of time without having to create a stream with an explicit transactional offset1. A STREAM object records data manipulation language (DML) changes made to tables, including inserts, updates, and deletes, as well as metadata about each change, so that actions can be taken using the changed data.This process is referred to as change data capture (CDC)2. The other options are incorrect because they do not make use of the change tracking metadata for a table.The MERGE command performs insert, update, or delete operations on a target table based on the results of a join with a source table3. The UPSERT command is not a valid Snowflake command. The CHANGE_DATA_CAPTURE command is not a valid Snowflake command.Reference:CHANGES | Snowflake Documentation,Change Tracking Using Table Streams | Snowflake Documentation,MERGE | Snowflake Documentation

When using the Snowflake Connector for Kafka, what data formats are supported for the messages? (Choose two.)

A.
CSV
A.
CSV
Answers
B.
XML
B.
XML
Answers
C.
Avro
C.
Avro
Answers
D.
JSON
D.
JSON
Answers
E.
Parquet
E.
Parquet
Answers
Suggested answer: C, D

Explanation:

The data formats that are supported for the messages when using the Snowflake Connector for Kafka are Avro and JSON. These are the two formats that the connector can parse and convert into Snowflake table rows.The connector supports both schemaless and schematized JSON, as well as Avro with or without a schema registry1. The other options are incorrect because they are not supported data formats for the messages. CSV, XML, and Parquet are not formats that the connector can parse and convert into Snowflake table rows.If the messages are in these formats, the connector will load them as VARIANT data type and store them as raw strings in the table2.Reference:Snowflake Connector for Kafka | Snowflake Documentation,Loading Protobuf Data using the Snowflake Connector for Kafka | Snowflake Documentation

At which object type level can the APPLY MASKING POLICY, APPLY ROW ACCESS POLICY and APPLY SESSION POLICY privileges be granted?

A.
Global
A.
Global
Answers
B.
Database
B.
Database
Answers
C.
Schema
C.
Schema
Answers
D.
Table
D.
Table
Answers
Suggested answer: A

Explanation:

The object type level at which the APPLY MASKING POLICY, APPLY ROW ACCESS POLICY and APPLY SESSION POLICY privileges can be granted is global. These are account-level privileges that control who can apply or unset these policies on objects such as columns, tables, views, accounts, or users. These privileges are granted to the ACCOUNTADMIN role by default, and can be granted to other roles as needed. The other options are incorrect because they are not the object type level at which these privileges can be granted. Database, schema, and table are lower-level object types that do not support these privileges.Reference:Access Control Privileges | Snowflake Documentation,Using Dynamic Data Masking | Snowflake Documentation,Using Row Access Policies | Snowflake Documentation,Using Session Policies | Snowflake Documentation

An Architect uses COPY INTO with the ON_ERROR=SKIP_FILE option to bulk load CSV files into a table called TABLEA, using its table stage. One file named file5.csv fails to load. The Architect fixes the file and re-loads it to the stage with the exact same file name it had previously.

Which commands should the Architect use to load only file5.csv file from the stage? (Choose two.)

A.
COPY INTO tablea FROM @%tablea RETURN_FAILED_ONLY = TRUE;
A.
COPY INTO tablea FROM @%tablea RETURN_FAILED_ONLY = TRUE;
Answers
B.
COPY INTO tablea FROM @%tablea;
B.
COPY INTO tablea FROM @%tablea;
Answers
C.
COPY INTO tablea FROM @%tablea FILES = ('file5.csv');
C.
COPY INTO tablea FROM @%tablea FILES = ('file5.csv');
Answers
D.
COPY INTO tablea FROM @%tablea FORCE = TRUE;
D.
COPY INTO tablea FROM @%tablea FORCE = TRUE;
Answers
E.
COPY INTO tablea FROM @%tablea NEW_FILES_ONLY = TRUE;
E.
COPY INTO tablea FROM @%tablea NEW_FILES_ONLY = TRUE;
Answers
F.
COPY INTO tablea FROM @%tablea MERGE = TRUE;
F.
COPY INTO tablea FROM @%tablea MERGE = TRUE;
Answers
Suggested answer: B, C

Explanation:

Option A (RETURN_FAILED_ONLY)will only load files that previously failed to load.Since file5.csv already exists in the stage with the same name,it will not be considered a new file and will not be loaded.

Option D (FORCE)will overwrite any existing data in the table.This is not desired as we only want to load the data from file5.csv.

Option E (NEW_FILES_ONLY)will only load files that have been added to the stage since the last COPY command.This will not work because file5.csv was already in the stage before it was fixed.

Option F (MERGE)is used to merge data from a stage into an existing table,creating new rows for any data not already present.This is not needed in this case as we simply want to load the data from file5.csv.

Therefore, the architect can use either COPY INTO tablea FROM @%tablea or COPY INTO tablea FROM @%tablea FILES = ('file5.csv') to load only file5.csv from the stage. Both options will load the data from the specified file without overwriting any existing data or requiring additional configuration

A large manufacturing company runs a dozen individual Snowflake accounts across its business divisions. The company wants to increase the level of data sharing to support supply chain optimizations and increase its purchasing leverage with multiple vendors.

The company's Snowflake Architects need to design a solution that would allow the business divisions to decide what to share, while minimizing the level of effort spent on configuration and management. Most of the company divisions use Snowflake accounts in the same cloud deployments with a few exceptions for European-based divisions.

According to Snowflake recommended best practice, how should these requirements be met?

A.
Migrate the European accounts in the global region and manage shares in a connected graph architecture. Deploy a Data Exchange.
A.
Migrate the European accounts in the global region and manage shares in a connected graph architecture. Deploy a Data Exchange.
Answers
B.
Deploy a Private Data Exchange in combination with data shares for the European accounts.
B.
Deploy a Private Data Exchange in combination with data shares for the European accounts.
Answers
C.
Deploy to the Snowflake Marketplace making sure that invoker_share() is used in all secure views.
C.
Deploy to the Snowflake Marketplace making sure that invoker_share() is used in all secure views.
Answers
D.
Deploy a Private Data Exchange and use replication to allow European data shares in the Exchange.
D.
Deploy a Private Data Exchange and use replication to allow European data shares in the Exchange.
Answers
Suggested answer: B

Explanation:

According to Snowflake recommended best practice, the requirements of the large manufacturing company should be met by deploying a Private Data Exchange in combination with data shares for the European accounts. A Private Data Exchange is a feature of the Snowflake Data Cloud platform that enables secure and governed sharing of data between organizations. It allows Snowflake customers to create their own data hub and invite other parts of their organization or external partners to access and contribute data sets.A Private Data Exchange provides centralized management, granular access control, and data usage metrics for the data shared in the exchange1. A data share is a secure and direct way of sharing data between Snowflake accounts without having to copy or move the data.A data share allows the data provider to grant privileges on selected objects in their account to one or more data consumers in other accounts2. By using a Private Data Exchange in combination with data shares, the company can achieve the following benefits:

The business divisions can decide what data to share and publish it to the Private Data Exchange, where it can be discovered and accessed by other members of the exchange. This reduces the effort and complexity of managing multiple data sharing relationships and configurations.

The company can leverage the existing Snowflake accounts in the same cloud deployments to create the Private Data Exchange and invite the members to join. This minimizes the migration and setup costs and leverages the existing Snowflake features and security.

The company can use data shares to share data with the European accounts that are in different regions or cloud platforms. This allows the company to comply with the regional and regulatory requirements for data sovereignty and privacy, while still enabling data collaboration across the organization.

The company can use the Snowflake Data Cloud platform to perform data analysis and transformation on the shared data, as well as integrate with other data sources and applications. This enables the company to optimize its supply chain and increase its purchasing leverage with multiple vendors.

The other options are incorrect because they do not meet the requirements or follow the best practices. Option A is incorrect because migrating the European accounts to the global region may violate the data sovereignty and privacy regulations, and deploying a Data Exchange may not provide the level of control and management that the company needs. Option C is incorrect because deploying to the Snowflake Marketplace may expose the company's data to unwanted consumers, and using invoker_share() in secure views may not provide the desired level of security and governance. Option D is incorrect because using replication to allow European data shares in the Exchange may incur additional costs and complexity, and may not be necessary if data shares can be used instead.Reference:Private Data Exchange | Snowflake Documentation,Introduction to Secure Data Sharing | Snowflake Documentation

A user has the appropriate privilege to see unmasked data in a column.

If the user loads this column data into another column that does not have a masking policy, what will occur?

A.
Unmasked data will be loaded in the new column.
A.
Unmasked data will be loaded in the new column.
Answers
B.
Masked data will be loaded into the new column.
B.
Masked data will be loaded into the new column.
Answers
C.
Unmasked data will be loaded into the new column but only users with the appropriate privileges will be able to see the unmasked data.
C.
Unmasked data will be loaded into the new column but only users with the appropriate privileges will be able to see the unmasked data.
Answers
D.
Unmasked data will be loaded into the new column and no users will be able to see the unmasked data.
D.
Unmasked data will be loaded into the new column and no users will be able to see the unmasked data.
Answers
Suggested answer: A

Explanation:

According to the SnowPro Advanced: Architect documents and learning resources, column masking policies are applied at query time based on the privileges of the user who runs the query. Therefore, if a user has the privilege to see unmasked data in a column, they will see the original data when they query that column. If they load this column data into another column that does not have a masking policy, the unmasked data will be loaded in the new column, and any user who can query the new column will see the unmasked data as well. The masking policy does not affect the underlying data in the column, only the query results.

Snowflake Documentation: Column Masking

Snowflake Learning: Column Masking

How can an Architect enable optimal clustering to enhance performance for different access paths on a given table?

A.
Create multiple clustering keys for a table.
A.
Create multiple clustering keys for a table.
Answers
B.
Create multiple materialized views with different cluster keys.
B.
Create multiple materialized views with different cluster keys.
Answers
C.
Create super projections that will automatically create clustering.
C.
Create super projections that will automatically create clustering.
Answers
D.
Create a clustering key that contains all columns used in the access paths.
D.
Create a clustering key that contains all columns used in the access paths.
Answers
Suggested answer: B

Explanation:

According to the SnowPro Advanced: Architect documents and learning resources, the best way to enable optimal clustering to enhance performance for different access paths on a given table is to create multiple materialized views with different cluster keys. A materialized view is a pre-computed result set that is derived from a query on one or more base tables. A materialized view can be clustered by specifying a clustering key, which is a subset of columns or expressions that determines how the data in the materialized view is co-located in micro-partitions. By creating multiple materialized views with different cluster keys, an Architect can optimize the performance of queries that use different access paths on the same base table. For example, if a base table has columns A, B, C, and D, and there are queries that filter on A and B, or on C and D, or on A and C, the Architect can create three materialized views, each with a different cluster key: (A, B), (C, D), and (A, C). This way, each query can leverage the optimal clustering of the corresponding materialized view and achieve faster scan efficiency and better compression.

Snowflake Documentation: Materialized Views

Snowflake Learning: Materialized Views

https://www.snowflake.com/blog/using-materialized-views-to-solve-multi-clustering-performance-problems/

Company A would like to share data in Snowflake with Company B. Company B is not on the same cloud platform as Company A.

What is required to allow data sharing between these two companies?

A.
Create a pipeline to write shared data to a cloud storage location in the target cloud provider.
A.
Create a pipeline to write shared data to a cloud storage location in the target cloud provider.
Answers
B.
Ensure that all views are persisted, as views cannot be shared across cloud platforms.
B.
Ensure that all views are persisted, as views cannot be shared across cloud platforms.
Answers
C.
Setup data replication to the region and cloud platform where the consumer resides.
C.
Setup data replication to the region and cloud platform where the consumer resides.
Answers
D.
Company A and Company B must agree to use a single cloud platform: Data sharing is only possible if the companies share the same cloud provider.
D.
Company A and Company B must agree to use a single cloud platform: Data sharing is only possible if the companies share the same cloud provider.
Answers
Suggested answer: C

Explanation:

According to the SnowPro Advanced: Architect documents and learning resources, the requirement to allow data sharing between two companies that are not on the same cloud platform is to set up data replication to the region and cloud platform where the consumer resides. Data replication is a feature of Snowflake that enables copying databases across accounts in different regions and cloud platforms. Data replication allows data providers to securely share data with data consumers across different regions and cloud platforms by creating a replica database in the consumer's account. The replica database is read-only and automatically synchronized with the primary database in the provider's account.Data replication is useful for scenarios where data sharing is not possible or desirable due to latency, compliance, or security reasons1. The other options are incorrect because they are not required or feasible to allow data sharing between two companies that are not on the same cloud platform. Option A is incorrect because creating a pipeline to write shared data to a cloud storage location in the target cloud provider is not a secure or efficient way of sharing data. It would require additional steps to load the data from the cloud storage to the consumer's account, and it would not leverage the benefits of Snowflake's data sharing features. Option B is incorrect because ensuring that all views are persisted is not relevant for data sharing across cloud platforms. Views can be shared across cloud platforms as long as they reference objects in the same database.Persisting views is an option to improve the performance of querying views, but it is not required for data sharing2. Option D is incorrect because Company A and Company B do not need to agree to use a single cloud platform.Data sharing is possible across different cloud platforms using data replication or other methods, such as listings or auto-fulfillment3.Reference:Replicating Databases Across Multiple Accounts | Snowflake Documentation,Persisting Views | Snowflake Documentation,Sharing Data Across Regions and Cloud Platforms | Snowflake Documentation

What are some of the characteristics of result set caches? (Choose three.)

A.
Time Travel queries can be executed against the result set cache.
A.
Time Travel queries can be executed against the result set cache.
Answers
B.
Snowflake persists the data results for 24 hours.
B.
Snowflake persists the data results for 24 hours.
Answers
C.
Each time persisted results for a query are used, a 24-hour retention period is reset.
C.
Each time persisted results for a query are used, a 24-hour retention period is reset.
Answers
D.
The data stored in the result cache will contribute to storage costs.
D.
The data stored in the result cache will contribute to storage costs.
Answers
E.
The retention period can be reset for a maximum of 31 days.
E.
The retention period can be reset for a maximum of 31 days.
Answers
F.
The result set cache is not shared between warehouses.
F.
The result set cache is not shared between warehouses.
Answers
Suggested answer: B, C, E

Explanation:

Comprehensive and Detailed Explanation: According to the SnowPro Advanced: Architect documents and learning resources, some of the characteristics of result set caches are:

Snowflake persists the data results for 24 hours.This means that the result set cache holds the results of every query executed in the past 24 hours, and can be reused if the same query is submitted again and the underlying data has not changed1.

Each time persisted results for a query are used, a 24-hour retention period is reset.This means that the result set cache extends the lifetime of the results every time they are reused, up to a maximum of 31 days from the date and time that the query was first executed1.

The retention period can be reset for a maximum of 31 days. This means that the result set cache will purge the results after 31 days, regardless of whether they are reused or not.After 31 days, the next time the query is submitted, a new result is generated and persisted1.

The other options are incorrect because they are not characteristics of result set caches. Option A is incorrect because Time Travel queries cannot be executed against the result set cache.Time Travel queries use the AS OF clause to access historical data that is stored in the storage layer, not the result set cache2. Option D is incorrect because the data stored in the result set cache does not contribute to storage costs.The result set cache is maintained by the service layer, and does not incur any additional charges1. Option F is incorrect because the result set cache is shared between warehouses.The result set cache is available across virtual warehouses, so query results returned to one user are available to any other user on the system who executes the same query, provided the underlying data has not changed1.Reference:Using Persisted Query Results | Snowflake Documentation,Time Travel | Snowflake Documentation

Total 162 questions
Go to page: of 17