DEA-C01トレーニング最新認定問題をゲットSnowPro Advanced合格目指せ2024年01月16日
認定トレーニングDEA-C01試験問題集テストエンジン
質問 # 17
A Data Engineer needs to ingest invoice data in PDF format into Snowflake so that the data can be queried and used in a forecasting solution.
..... recommended way to ingest this data?
- A. Use a COPY INTO command to ingest the PDF files in an external stage into a Snowflake table with a VARIANT column.
- B. Create a Java User-Defined Function (UDF) that leverages Java-based PDF parser libraries to parse PDF data into structured data
- C. Create an external table on the PDF files that are stored in a stage and parse the data nto structured data
- D. Use Snowpipe to ingest the files that land in an external stage into a Snowflake table
正解:B
解説:
Explanation
The recommended way to ingest invoice data in PDF format into Snowflake is to create a Java User-Defined Function (UDF) that leverages Java-based PDF parser libraries to parse PDF data into structured data. This option allows for more flexibility and control over how the PDF data is extracted and transformed. The other options are not suitable for ingesting PDF data into Snowflake. Option A and B are incorrect because Snowpipe and COPY INTO commands can only ingest files that are in supported file formats, such as CSV, JSON, XML, etc. PDF files are not supported by Snowflake and will cause errors or unexpected results.
Option C is incorrect because external tables can only query files that are in supported file formats as well.
PDF files cannot be parsed by external tables and will cause errors or unexpected results.
質問 # 18
A Data Engineer has developed a dashboard that will issue the same SQL select clause to Snowflake every 12 hours.
---will Snowflake use the persisted query results from the result cache provided that the underlying data has not changed^
- A. 14 days
- B. 24 hours
- C. 31 days
- D. 12 hours
正解:A
解説:
Explanation
Snowflake uses the result cache to store the results of queries that have been executed recently. The result cache is maintained at the account level and is shared across all sessions and users. The result cache is invalidated when any changes are made to the tables or views referenced by the query. Snowflake also has a retention policy for the result cache, which determines how long the results are kept in the cache before they are purged. The default retention period for the result cache is 24 hours, but it can be changed at the account, user, or session level. However, there is a maximum retention period of 14 days for the result cache, which cannot be exceeded. Therefore, if the underlying data has not changed, Snowflake will use the persisted query results from the result cache for up to 14 days.
質問 # 19
Which use case would be BEST suited for the search optimization service?
- A. Data Engineers who create clustered tables with frequent reads against clustering keys
- B. Business users who need fast response times using highly selective filters
- C. Analysts who need to perform aggregates over high cardinality columns
- D. Data Scientists who seek specific JOIN statements with large volumes of data
正解:B
解説:
Explanation
The use case that would be best suited for the search optimization service is business users who need fast response times using highly selective filters. The search optimization service is a feature that enables faster queries on tables with high cardinality columns by creating inverted indexes on those columns. High cardinality columns are columns that have a large number of distinct values, such as customer IDs, product SKUs, or email addresses. Queries that use highly selective filters on high cardinality columns can benefit from the search optimization service because they can quickly locate the relevant rows without scanning the entire table. The other options are not best suited for the search optimization service. Option A is incorrect because analysts who need to perform aggregates over high cardinality columns will not benefit from the search optimization service, as they will still need to scan all the rows that match the filter criteria. Option C is incorrect because data scientists who seek specific JOIN statements with large volumes of data will not benefit from the search optimization service, as they will still need to perform join operations that may involve shuffling or sorting data across nodes. Option D is incorrect because data engineers who create clustered tables with frequent reads against clustering keys will not benefit from the search optimization service, as they already have an efficient way to organize and access data based on clustering keys.
質問 # 20
Elon, a Data Engineer, needs to Split Semi-structured Elements from the Source files and load them as an array into Separate Columns.
Source File:
1.+----------------------------------------------------------------------+
2.| $1 |
3.|----------------------------------------------------------------------|
4.| {"mac_address": {"host1": "197.128.1.1","host2": "197.168.0.1"}}, |
5.| {"mac_address": {"host1": "197.168.2.1","host2": "197.168.3.1"}} |
6.+----------------------------------------------------------------------+ Output: Splitting the Machine Address as below.
1.COL1 | COL2 |
2.|----------+----------|
3.| [ | [ |
4.| "197", | "197", |
5.| "128", | "168", |
6.| "1", | "0", |
7.| "1" | "1" |
8.| ] | ] |
9.| [ | [ |
10.| "197", | "197", |
11.| "168", | "168", |
12.| "2", | "3", |
13.| "1" | "1" |
14.| ] | ]
Which SnowFlake Function can Elon use to transform this semi structured data in the output for-mat?
- A. NEST
- B. GROUP_BY_CONNECT
- C. SPLIT
- D. CONVERT_TO_ARRAY
正解:C
質問 # 21
Which methods will trigger an action that will evaluate a DataFrame? (Select TWO)
- A. DateFrame.select ()
- B. DataFrame.col ( )
- C. DataFrame.random_split ( )
- D. DataFrame.collect ()
- E. DataFrame.show ()
正解:D、E
解説:
Explanation
The methods that will trigger an action that will evaluate a DataFrame are DataFrame.collect() and DataFrame.show(). These methods will force the execution of any pending transformations on the DataFrame and return or display the results. The other options are not methods that will evaluate a DataFrame. Option A, DataFrame.random_split(), is a method that will split a DataFrame into two or more DataFrames based on random weights. Option C, DataFrame.select(), is a method that will project a set of expressions on a DataFrame and return a new DataFrame. Option D, DataFrame.col(), is a method that will return a Column object based on a column name in a DataFrame.
質問 # 22
Marko, a Data Engineer is using Snowpipe for data loading in micro batches for one of the Finance Data workloads. There are set of files he attempted to load into the snowflake table using Snow-pipe. While monitoring he found that there are set of files has multiple issue, He queried the COPY_HISTORY view & checked the STATUS column which indicates whether a particular set of files was loaded, partially loaded, or failed to load. But he wants to view all errors in the files along with Load status, how he can check all errors?
- A. He can view all errors in the files, by executing a COPY INTO <table> statement with the VALIDATION_ERROR_MODE copy option set to RE-TURN_ALL_PIPE_ERRORS.
- B. He can check RETURN_ALL_ERROR_MESSAGE column in the COPY_HISTORY view which can provides a reason and view all errors in the files.
- C. Marko can look out for FIRST_ERROR_MESSAGE column in the COPY_HISTORY view which can provides a reason why a file partially loaded or failed for all the files.
- D. He can view all errors in the files, by executing a COPY INTO <table> statement with the VALIDATION_MODE copy option set to RETURN_ALL_ERRORS.
正解:D
解説:
Explanation
The STATUS column indicates whether a particular set of files was loaded, partially loaded, or failed to load.
The FIRST_ERROR_MESSAGE column provides a reason when an attempt partial-ly loaded or failed.
Note that if a set of files has multiple issues, the FIRST_ERROR_MESSAGE column only indi-cates the first error encountered. To view all errors in the files, execute a COPY INTO <table> statement with the VALIDATION_MODE copy option set to RETURN_ALL_ERRORS. The VALIDATION_MODE copy option instructs a COPY statement to validate the data to be loaded and return results based on the validation option specified. No data is loaded when this copy option is specified.
質問 # 23
As Data Engineer, you have been asked to access data held in AWS Glacier Deep Archive storage class for Historical Data Analysis, which one is the correct statement to recommend?
- A. We can simply access AWS Glacier Deep Archive storage External Stage data using PUT command.
- B. Loading data from AWS cloud storage services is supported regardless of the cloud platform that hosts your Snowflake account.
- C. Data can be accessed from External stage using AWS Private link in this case.
- D. You cannot access data held in archival cloud storage classes that requires restoration before it can be retrieved.
- E. Upload (i.e. stage) files to your cloud storage account using the tools provided by the cloud storage service.
正解:D
解説:
Explanation
External stage
References data files stored in a location outside of Snowflake. Currently, the following cloud stor-age services are supported:
Amazon S3 buckets
Google Cloud Storage buckets
Microsoft Azure containers
The storage location can be either private/protected or public.
You cannot access data held in archival cloud storage classes that requires restoration before it can be retrieved. These archival storage classes include, for example, the Amazon S3 Glacier Flexible Retrieval or Glacier Deep Archive storage class, or Microsoft Azure Archive Storage.
質問 # 24
Which one is not the Core benefits of micro-partitioning
- A. Micro-partitions can overlap in their range of values, helps data skewing.
- B. Columns are also compressed individually within micro-partitions.
- C. Snowflake micro-partitions are derived automatically they do not need to be explicitly defined up-front or maintained by users.
- D. Enables extremely efficient DML and fine-grained pruning for faster queries.
- E. Columns are stored independently within micro-partitions, often referred to as colum-nar storage.
正解:A
解説:
Explanation
The benefits of Snowflake's approach to partitioning table data include:
In contrast to traditional static partitioning, Snowflake micro-partitions are derived automatically; they don't need to be explicitly defined up-front or maintained by users.
As the name suggests, micro-partitions are small in size (50 to 500 MB, before compression), which enables extremely efficient DML and fine-grained pruning for faster queries.
Micro-partitions can overlap in their range of values, which, combined with their uniformly small size, helps prevent skew.
Columns are stored independently within micro-partitions, often referred to as columnar storage. This enables efficient scanning of individual columns; only the columns referenced by a query are scanned.
Columns are also compressed individually within micro-partitions. Snowflake automatically de-termines the most efficient compression algorithm for the columns in each micro-partition.
質問 # 25
Data Engineer is performing below steps in sequence while working on Stream s1 created on table t1.
Step 1: Begin transaction.
Step 2: Query stream s1 on table t1.
Step 3: Update rows in table t1.
Step 4: Query stream s1.
Step 5: Commit transaction.
Step 6: Begin transaction.
Step 7: Query stream s1.
Mark the Incorrect Operational statements:
- A. if Transaction 2 had begun before Transaction 1 was committed, queries to the stream would have returned a snapshot of the stream from the position of the stream to the be-ginning time of Transaction 2 and would not see any changes committed by Transac-tion 1.
- B. For Step 2, The stream returns the change data capture records between the current position to the Transaction 1 start time. If the stream is used in a DML statement, the stream is then locked to avoid changes by concurrent transactions.
- C. For Step 5, If the stream was consumed in DML statements within the transaction, the stream position advances to the transaction start time.
- D. For Step 4, Returns the CDC data records by streams with updated rows happened in the Step 3 because Streams works in Repeated committed mode in which statements see any changes made by previous statements executed within the same transaction, even though those changes are not yet committed.
- E. For Step 7, Results do include table changes committed by Transaction 1.
正解:D
解説:
Explanation
Streams support repeatable read isolation. In repeatable read mode, multiple SQL statements within a transaction see the same set of records in a stream. This differs from the read committed mode supported for tables, in which statements see any changes made by previous statements executed within the same transaction, even though those changes are not yet committed.
The delta records returned by streams in a transaction is the range from the current position of the stream until the transaction start time. The stream position advances to the transaction start time if the transaction commits; otherwise, it stays at the same position.
Within Transaction 1, all queries to stream s1 see the same set of records. DML changes to table t1 are recorded to the stream only when the transaction is committed.
In Transaction 2, queries to the stream see the changes recorded to the table in Transaction 1. Note that if Transaction 2 had begun before Transaction 1 was committed, queries to the stream would have returned a snapshot of the stream from the position of the stream to the beginning time of Transaction 2 and would not see any changes committed by Transaction 1.
質問 # 26
In Which Data Modelling Technique, Data Engineer generally refer the terms Hubs & Satellites?
- A. Snowflake Schema
- B. Data Hub
- C. Data Vault
- D. Star Schema
正解:C
解説:
Explanation
In Data Vault modelling, Hubs are entities of interest to the business.
They contain just a distinct list of business keys and metadata about when each key was first loaded and from where.
In Data Vault modelling, Satellites connect to Hubs or Links. They are Point in Time: so we can ask and answer the question, "what did we know when?" Satellites contain data about their parent Hub or Link and metadata about when the data was load-ed, from where, and a business effectivity date.
質問 # 27
Which Snowflake objects does the Snowflake Kafka connector use? (Select THREE).
- A. Serverless task
- B. Pipe
- C. Internal table stage
- D. Internal user stage
- E. Internal named stage
- F. Storage integration
正解:B、C、E
解説:
Explanation
The Snowflake Kafka connector uses three Snowflake objects: pipe, internal table stage, and internal named stage. The pipe object is used to load data from an external stage into a Snowflake table using COPY statements. The internal table stage is used to store files that are loaded from Kafka topics into Snowflake using PUT commands. The internal named stage is used to store files that are rejected by the COPY statements due to errors or invalid data. The other options are not objects that are used by the Snowflake Kafka connector.
Option B, serverless task, is an object that can execute SQL statements on a schedule without requiring a warehouse. Option C, internal user stage, is an object that can store files for a specific user in Snowflake using PUT commands. Option F, storage integration, is an object that can enable secure access to external cloud storage services without exposing credentials.
質問 # 28
Which two Account usage views can be used for auditing Dynamic data masking purpose?
- A. DYNAMIC POLICY_REFERENCES
- B. MASKING POLICIES
- C. POLICY_REFERENCES
- D. DYNAMIC MASKING POLICIES
正解:B、C
質問 # 29
A Data Engineer wants to check the status of a pipe named my_pipe. The pipe is inside a database named test and a schema named Extract (case-sensitive).
Which querywill provide the status of the pipe?
- A. SELE2T * FROM SYSTEM$PIPE_STATUS < ' test. "Extract", my_pipe');
- B. SELECT FROM SYSTEM$PIPE_STATUS (,test.,,Extracr,,.ny_pipe, i I
- C. SELECT * FROM SYSTEM$PIPE_STATUS ("test. 'extract' .my_pipe"};
- D. SELECT FROM SYSTEM$PIPE_STATUS (''test.'extract'.my_pipe"i:
正解:A
解説:
Explanation
The query that will provide the status of the pipe is SELECT * FROM
SYSTEM$PIPE_STATUS('test."Extract".my_pipe');. The SYSTEM$PIPE_STATUS function returns information about a pipe, such as its name, status, last received message timestamp, etc. The function takes one argument: the pipe name in a qualified form. The pipe name should include the database name, the schema name, and the pipe name, separated by dots. If any of these names are case-sensitive identifiers, they should be enclosed in double quotes. In this case, the schema name Extract is case-sensitive and should be quoted. The other options are incorrect because they do not follow the correct syntax for the pipe name argument. Option A and B use single quotes instead of double quotes for case-sensitive identifiers. Option D uses double quotes instead of single quotes for non-case-sensitive identifiers.
質問 # 30
Which Snowflake feature facilitates access to external API services such as geocoders. data transformation, machine Learning models and other custom code?
- A. External tables
- B. Java User-Defined Functions (UDFs)
- C. Security integration
- D. External functions
正解:D
解説:
Explanation
External functions are Snowflake functions that facilitate access to external API services such as geocoders, data transformation, machine learning models and other custom code. External functions allow users to invoke external services from within SQL queries and pass arguments and receive results as JSON values. External functions require creating an API integration object and an external function object in Snowflake, as well as deploying an external service endpoint that can communicate with Snowflake via HTTPS.
質問 # 31
When created, a stream logically takes an initial snapshot of every row in the source object and the contents of a stream change as DML statements execute on the source table.
A Data Engineer, Sophie Created a view that queries the table and returns the CURRENT_USER and CURRENT_TIMESTAMP values for the query transaction. A Stream has been created on views to capture CDC.
Tony, another user inserted the data e.g.
insert into <table> values (1),(2),(3);
Emily, another user also inserted the data e.g.
insert into <table> values (4),(5),(6);
What will happened when Different user queries the same stream after 1 hour?
- A. User would be displayed with the one who queried during the session, but Recorded timestamp would be of past 1 hour i.e. actual records insertion time.
- B. All the Six Records would be displayed with CURRENT_USER & CUR-RENT_TIMESTAMP while querying Streams.
- C. All the 6 records would be shown with METADATA$ACTION as 'INSERT' out of which 3 records would be displayed with username 'Tony' & rest 3 records would be displayed with username 'Emily'.
- D. All the Six records would be displayed with User 'Sohpie' Who is the owner of the View.
正解:B
解説:
Explanation
When User queries the stream, the stream returns the username for the user. The stream also returns the current timestamp for the query transaction in each row, NOT the timestamp when each row was inserted.
質問 # 32
Which Role that is dedicated to user and role management only?
- A. PUBLIC
- B. SECURITYADMIN
- C. USERADMIN
- D. SYSADMIN
- E. ORGADMIN
正解:C
質問 # 33
A database contains a table and a stored procedure defined as.
No other operations are affecting the log_table.
What will be the outcome of the procedure call?
- A. The Iog_table contains one record and the stored procedure returned 1 as a return value
- B. The log_table contains one record and the stored procedure returned NULL as a return value
- C. The Iog_table contains zero records and the stored procedure returned NULL as a return value
- D. The Iog_table contains zero records and the stored procedure returned 1 as a return value
正解:A
解説:
Explanation
The stored procedure is defined with a FLOAT return type and a JavaScript language. The body of the stored procedure contains a SQL statement that inserts a row into the log_table with a value of '1' for col1. The body also contains a return statement that returns 1 as a float value. When the stored procedure is called with any VARCHAR parameter, it will execute successfully and insert one record into the log_table and return 1 as a return value. The other options are not correct because:
The log_table will not be empty after the stored procedure call, as it will contain one record inserted by the SQL statement.
The stored procedure will not return NULL as a return value, as it has an explicit return statement that returns 1.
質問 # 34
......
合格確定、ガイドで準備DEA-C01試験:https://www.goshiken.com/Snowflake/DEA-C01-mondaishu.html
SnowPro Advanced DEA-C01無料最新のリアル試験問題と回答:https://drive.google.com/open?id=1-YvnOX_Aje6vCozq8ZHhYKpUU2eSFWg1