100%更新されたのはSnowflake DAA-C01限定版PDF問題集 [Q13-Q31]

Share

100%更新されたのはSnowflake DAA-C01限定版PDF問題集

有効な試験問題を試そうDAA-C01には無料サイトで限定お試しチャンス

質問 # 13
When managing Snowsight dashboards, what significance do subscriptions and updates hold in meeting business requirements?

  • A. They enhance dashboard usability without data updates.
  • B. Subscriptions and updates ensure timely information delivery.
  • C. Managing subscriptions and updates complicates dashboard usage.
  • D. Subscriptions and updates have no impact on dashboard management.

正解:B

解説:
Subscriptions and updates ensure timely information delivery, meeting business requirements.


質問 # 14
What functionalities are available when a Snowflake worksheet is shared with other users? (Select TWO).

  • A. If multiple users edit and run a shared worksheet at the same time, each run of the worksheet will create a new version.
  • B. Whenever a user with permissions runs a worksheet, the existing version history of the worksheet will be overwritten.
  • C. If the worksheet is being edited, the collaborators will be able to see these edits in real-time.
  • D. Collaborators can share the worksheet across Snowflake accounts.
  • E. Users with edit permissions can view past versions of the worksheet.

正解:A、C

解説:
Snowsight, the modern web interface for Snowflake, introduces robust collaboration features through shared worksheets. Understanding the synchronization and versioning logic is critical for the Data Presentation and Data Visualization domain.
When a worksheet is shared with collaborators, Snowflake enables real-time collaboration (Option D). This means that as one user types or modifies SQL code, those changes are immediately visible to all other users who have the worksheet open. This functionality is similar to co-authoring in modern document editors, allowing data teams to debug or develop complex queries synchronously without the need for manual copy- pasting or constant screen sharing.
Furthermore, Snowflake manages the execution history of shared worksheets through a structured versioning system (Option C). If multiple users are interacting with the same worksheet, Snowflake does not overwrite a single "master" state during execution. Instead, every time a user executes the worksheet (or a portion of it), Snowflake creates a new version of the worksheet content associated with that specific run. This ensures that the code used to generate a particular result set is preserved and tied to that specific Query ID in the history.
Evaluating the Options:
* Option A is incorrect because while users can see current edits, viewing a full, navigable history of
"past versions" is not a standard feature in the same way it is in dedicated version control systems like Git.
* Option B is incorrect as worksheet sharing is restricted to users within the same Snowflake account.
Sharing across accounts requires the use of Data Shares or Private Listings.
* Option E is incorrect because Snowflake preserves the history rather than overwriting it, allowing analysts to audit who ran what code and when.
* Options C and D are the 100% correct answers. They define the synchronous and persistent nature of Snowsight collaboration, ensuring that teams can work together effectively while maintaining an immutable trail of executions.


質問 # 15
You have a Snowflake table 'RAW DATA containing a 'VARIANT column called 'json_data'. This column stores JSON objects representing customer orders. The structure includes a nested array of items within each order. You need to create a flattened table called 'ORDER ITEMS with the following columns: 'order_id', and However, the field is not directly present in the JSON data'. Instead, it needs to be derived by concatenating the 'order_id' with the index (ordinal position) of the item within the 'items' array. The structure looks like this: { "order_id": "ORD-123", "customer_id": "CUST-456", "items": [ { "item_name": "Laptop", "item_price": 1200 }, { "item_name": "Mouse", "item_price": 25 } ] } Which of the following SQL statements correctly creates the 'ORDER ITEMS table?

  • A. Option D
  • B. Option C
  • C. Option E
  • D. Option B
  • E. Option A

正解:C

解説:
Option E correctly uses the 'LATERAL FLATTEN' function to unnest the 'items' array. The key is using 'f.seq' (sequence number) provided by 'FLATTEN' function, which is the ordinal position of the item in the array (starting from 1), to create the item_id. It concatenates the order_id with the sequence number to generate a unique item_id. Option A is wrong because row_number is an aggregate function, and needs Group by to execute. Option B uses f.index, which does not exist in the output of Lateral flatten. Options C is correct in most of the parameters, however, 'raw_data' alias is missing, as a result the result will be error. Option D also uses seq, however it adds 1, which changes the index to start from 1, which might be wrong.


質問 # 16
You are working with a Snowflake table called containing sales transactions. The table includes columns like 'transaction_id' (VARCHAR), 'product_id' (VARCHAR), 'transaction_date' (DATE), (NUMBER(10,2)), and (GEOGRAPHY). You need to perform the following data preparation tasks: 1. Clean the data: Remove transactions with less than or equal to 0. 2. Transform the data: Convert the 'customer_location' from GEOGRAPHY to a WKT string representation. 3. Enrich the data: Calculate the year and month from the 'transaction_date' and add them as new columns. 4. Mask the data: Partially mask the 'transaction_id' column to protect customer data by only displaying the last 4 digits of the ID. Considering performance and best practices, what is the MOST efficient way to achieve these transformations using Snowflake features? You need to achieve this in a single statement.

  • A.
  • B.
  • C.
  • D.
  • E.

正解:B、E

解説:
Options A and D are functionally equivalent and correct, they both performs the desired data cleansing, transformation, and enrichment in a single 'CREATE OR REPLACE TABLE' statement. The 'WHERE sales_amount > clause filters out invalid transactions. RIGHT(transaction_id, 4) masks the transaction ID. YEAR() and MONTH() extract the year and month from the date, and ST_ASTEXT() converts the GEOGRAPHY object to a WKT string. Option B uses HASH, but the question asks for partially masking so HASH isn't suitable. Option C uses CASE, that is not required. Option E makes use of SYSTEM$MASK, function which masks the entire column value, that isn't what the questions asks.


質問 # 17
A healthcare organization uses Snowflake to store patient data and needs to create a dashboard to monitor key performance indicators (KPIs) such as patient readmission rates, average length of stay, and patient satisfaction scores. The dashboard should allow analysts to filter data by hospital, department, and time period. Considering data governance and security best practices, which of the following approaches should you implement to ensure that analysts only have access to the data relevant to their roles and responsibilities, while also optimizing dashboard performance and maintainability? Choose all that apply.

  • A. Build a single view that joins all necessary tables and use the view to power the dashboards. Apply role-based access control to the view.
  • B. Create separate Snowflake roles for different analyst groups (e.g., hospital analysts, department analysts) and grant each role access only to the specific views or tables containing the data they need. Apply row-level security policies to filter data based on the user's role.
  • C. Implement data masking techniques to redact sensitive patient information (e.g., names, addresses) within the dashboard visualizations. Ensure that data masking policies are applied consistently across all dashboards and reports.
  • D. Grant all analysts full access to the entire patient data warehouse and rely on the dashboard's built-in filtering capabilities to restrict data visibility.
  • E. Create a set of stored procedures that encapsulate the logic for retrieving and aggregating the KPI data. Grant analysts execute privileges on these stored procedures, but not direct access to the underlying tables.

正解:B、C、E

解説:
Option A enforces role-based access control at the data layer, preventing unauthorized access. Option C provides a controlled interface for data access, enhancing security and simplifying data governance. Option D protects sensitive data within the dashboard. Granting full access (B) violates security principles. Single view can become unmanageable.


質問 # 18
You are designing a dimensional model for a subscription-based service. You have a 'FACT SUBSCRIPTIONS' table with columns like 'subscription_id', 'customer id', 'start date', 'end date', and 'subscription_amount'. The business wants to analyze monthly recurring revenue (MRR) and churn rate. You need to model the temporal aspect of subscriptions to accurately calculate these metrics. Select the TWO best approaches to model the time dimension to facilitate these calculations:

  • A. Create a snapshot fact table FACT SUBSCRIPTION SNAPSHOTS that captures the state of each subscription at the end of each month. This table would include 'subscription_id' , 'customer_id', 'snapshot_date', 'is_active' , and 'subscription_amount' .
  • B. Store 'start_date' and 'end_date' as VARCHAR columns in the 'FACT SUBSCRIPTIONS table to avoid data type conversions.
  • C. Create a 'DIM_SUBSCRIPTIOW table with 'subscription_id' as the primary key and store all subscription details there, avoiding the need for a fact table.
  • D. Create a 'DIM MONTH' table with columns like 'month id', 'month start date', and 'month end date' and link the 'FACT SUBSCRIPTIONS table to it based on the 'start_date' falling within the month.
  • E. Create a 'DIM_DATE table and link 'FACT_SUBSCRIPTIONS' to it using 'start_date' and 'end_date' columns.

正解:A、D

解説:
Creating a snapshot fact table (option B) allows for direct calculation of MRR and churn at a specific point in time. Analyzing subscription state at monthly intervals is helpful for these metrics. Creating a 'DIM_MONTH' table (option E) simplifies grouping and aggregation of subscriptions by month. Option A (linking to 'DIM DATE' using both start and end dates) might be useful for other types of analysis, but not directly for MRR/churn calculations. Storing dates as VARCHAR (option C) is bad practice and will hinder performance. A dimension table for subscriptions (option D) won't capture the temporal changes necessary for these metrics.


質問 # 19
You are tasked with building a dashboard in Looker Studio to visualize data from a Snowflake database. The data contains sensitive information, and the security team requires that only authorized users can access specific data based on their role. The Snowflake database has roles defined: 'ANALYST, 'MANAGER, and 'EXECUTIVE. The 'SALES DATA' table contains a 'REGION' column. 'ANALYST' should only see data for their assigned region, 'MANAGER should see data for their region and direct reports regions, and 'EXECUTIVE should see all regions. Which of the following is/are the MOST secure and efficient way(s) to implement row-level security in Snowflake and integrate it with Looker Studio without duplicating the data?

  • A. Implement a Snowflake stored procedure that accepts a user's role as input and returns the filtered data. Connect Looker Studio to this stored procedure.
  • B. Implement Row Access Policies in Snowflake based on the USER NAME() or CURRENT ROLE() functions to filter the 'SALES DATA' table directly. Grant appropriate roles to users and connect Looker Studio using a service account that has the necessary privileges.
  • C. Create separate Snowflake views for each role, filtering the data based on the 'REGION' column. Connect Looker Studio to the appropriate view based on the user's role.
  • D. Import the 'SALES DATA' table into Looker Studio and implement data blending with a user role mapping table to filter the data within Looker Studio.
  • E. Create dynamic data masking policies in Snowflake to redact sensitive 'SALE_AMOUNT data based on roles and connect Looker Studio using a service account.

正解:B、E

解説:
Row Access Policies (RAP) in Snowflake provide the most secure and efficient way to implement row-level security. By defining policies based on the user's role, you can ensure that users only see the data they are authorized to access directly at the Snowflake level. Combining RAPs with dynamic data masking for 'SALE_AMOUNT adds an extra layer of security by redacting sensitive data based on the user's role. Option A requires managing multiple views, which can be cumbersome. Option B introduces complexity with stored procedures. Option D moves security logic into Looker Studio, which is less secure and can be bypassed. Using a service account with appropriate privileges ensures that Looker Studio can access the data securely and apply the defined Row Access Policies. Options C is correct because it keeps security logic within Snowflake. Option E is correct because it provides additional data masking depending on the security policies for sale amount.


質問 # 20
You have a Snowflake table named 'CUSTOMER DATA' with a 'JSON DATA' column containing nested JSON objects. You need to extract specific fields from the nested JSON, transform the data, and load it into a new table named 'CLEANED CUSTOMERS'. You want to automate this process using a task and stream. Which of the following SQL statements, when combined correctly, provide the most efficient and reliable solution for automating this data transformation?

  • A. Option D
  • B. Option C
  • C. Option B
  • D. Option A
  • E. Option E

正解:A

解説:
The correct answer (D) uses a stream to capture changes in the 'CUSTOMER_DATX table. The task is chained to the stream using 'AFTER ensuring it runs only when there are changes in the stream. It then inserts the transformed data (name, age) from the stream into 'CLEANED_CUSTOMERS' , filtering based on Options A and C don't leverage streams and will re-process the entire 'CUSTOMER DATA table each time the task runs. Option B uses a MERGE statement without considering any audit columns from the stream and option E sets SHOW INITIAL ROWS = TRUE on stream that are deprecated and doesn't ensure task execution correctly because task doesn't use the stream state properly. A stream is crucial for incremental loading and efficient processing of only the changed data.


質問 # 21
A data analyst is tasked with creating a near-real-time dashboard using Streamlit and Snowflake to monitor website traffic. The website traffic data is continuously ingested into a Snowflake table named 'WEB TRAFFIC EVENTS' with columns 'EVENT TIME' (TIMESTAMP LTZ), 'PAGE URL' (VARCHAR), and 'USER ID' (VARCHAR). The analyst wants to ensure the Streamlit dashboard automatically reflects the latest data in Snowflake with minimal latency. Which of the following approaches would provide the MOST efficient and near-real-time data updates in the Streamlit dashboard?

  • A. Leverage Snowflake's Change Data Capture (CDC) capabilities to track changes in the ' table. Streamlit can then query the CDC stream to retrieve only the changes since the last refresh, minimizing the amount of data transferred and processed. Utilize 'st.cache_data' with a short TTL.
  • B. Implement Snowflake's Snowpipe to continuously load data into a separate summary table containing pre-aggregated metrics (e.g., page views per minute). Streamlit can then query this summary table frequently without impacting Snowflake's performance. Use 'st.cache_data' with a short TTL to refresh the data quickly.
  • C. Use Streamlit's 'st.cache_data' decorator with a long TTL (time-to-live) on a function that queries Snowflake directly for each dashboard refresh. This will cache the query results for a longer period, reducing the load on Snowflake.
  • D. Use Streamlit's to directly edit data in the Snowflake table from the dashboard. This provides real-time updates by allowing users to modify the data directly.
  • E. Configure Streamlit to use the Snowflake Connector for Python with auto-commit enabled. This ensures that any changes made to the data in Streamlit are immediately reflected in Snowflake.

正解:A

解説:
Leveraging Snowflake's CDC capabilities is the most efficient way to achieve near-real-time data updates in Streamlit. CDC allows you to retrieve only the changes made to the table since the last refresh, significantly reducing the amount of data transferred and processed compared to querying the entire table each time. Snowpipe is a good option, but is more oriented to data ingestion and not data changes. Option A caches results, which is opposite of real time. Option B is useful, but more complex than needed. Option C is not related to the problem. Option D is incorrect because 'auto-commit' applies only to data updates from the application to Snowflake. Streamlit can then query this CDC stream to get an updated set of data. Using 'st.cache_data' with a short TTL ensures the dashboard reflects recent data changes from the CDC Stream.


質問 # 22
You are building a Snowsight dashboard that visualizes website traffic data'. The data includes a column 'visit_timestamp' (TIMESTAMP NTZ) and you need to display the number of unique visitors per hour for the last 24 hours. You also want to allow users to filter the data by country. You plan to use a chart to visualize the trend. Which of the following approaches are the MOST efficient and accurate for achieving this?

  • A. Use the visit_timestamp)' function in the SQL query to group the data by hour and calculate the distinct count of visitor IDs. Apply the country filter directly in the SQL query.
  • B. Use the 'TO_CHAR(visit_timestamp, 'YYYY-MM-DD HH24')' function to group data by hour, but only use this option if 'visit_timestamp' is already stored as TEXT.
  • C. Use the function in the SQL query to group the data by hour and calculate the distinct count of visitor IDs. Apply the country filter as a dashboard-level filter in Snowsight.
  • D. Create a view that pre-aggregates the hourly visitor counts and includes the country. The dashboard queries this view and applies no additional filters.
  • E. Create a calculated field in Snowsight that extracts the hour from the 'visit_timestamp' and then group by that calculated field to calculate the distinct count of visitor IDs. Apply the country filter as a dashboard-level filter in Snowsight.

正解:A、D

解説:
Option A is a good approach because 'DATE _ TRUNC is efficient for truncating timestamps, and applying the filter directly in the SQL query can optimize data retrieval. Option D is also very efficient, as it pre-aggregates the data, which improves dashboard performance. Option B is less efficient because the 'HOUR' function only returns the hour value without the date, making it harder to filter for last 24 hours. Also, dashboard-level filters can sometimes be less performant than SQL-level filters for large datasets. Option C introduces a calculated field, which is generally less efficient than performing the transformation directly in SQL. Option E is technically correct, it only applies to TEXT stored visit timestamp. Thus, pre-aggregation and 'DATE_TRUNC' are superior.


質問 # 23
A Data Analyst has a Parquet file stored in an Amazon S3 staging area. Which query will copy the data from the staged Parquet file into separate columns in the target table?

  • A. Option C
  • B. Option D
  • C. Option B
  • D. Option A

正解:A

解説:
In the Snowflake ecosystem, Parquet is treated as a semi-structured data format. When you stage a Parquet file, Snowflake does not automatically parse it into multiple columns like it might with a flat CSV file.
Instead, the entire content of a single row or record is loaded into a single VARIANT column, which is referenced in SQL using the positional notation $1.
The fundamental mistake often made-and represented in Option A-is treating Parquet as a delimited format where $1, $2, and $3 refer to different columns. In Parquet ingestion, columns $2 and beyond will return NULL because the schema is contained within the object in $1.
To successfully "shred" or flatten this semi-structured data into a relational table with separate columns, an analyst must use path notation. This involves referencing the root object ($1), followed by a colon (:), and then the specific element key (e.g., $1:o_custkey). Furthermore, because the values extracted from a Variant are technically still Variants, they must be explicitly cast to the correct data type using the double-colon syntax (e.g., ::number, ::date) to ensure they land in the target table with the correct data types.
Evaluating the Options:
* Option A is incorrect because it uses positional references ($2, $3, etc.) which are only valid for structured files like CSVs.
* Option B is incorrect because it attempts to reference keys directly without the required stage variable ($1) and colon separator.
* Option D is incorrect as it uses a non-standard parse() function that does not exist for this purpose in Snowflake SQL.
* Option C is the 100% correct syntax. It correctly identifies that the Parquet data resides in $1, utilizes the colon to access internal keys, and applies the necessary type casting. This specific method is known as "Transformation During Ingestion" and is a core competency for any SnowPro Advanced Data Analyst.


質問 # 24
A Data Analyst wants to use pandas code they have previously written to process a column of text and return multiple rows of parsed output for each input value. The Analyst wants to be able to join these results with other tables in a single transaction. Which type of extensibility feature should the Analyst use?

  • A. User-Defined Function (UDF)
  • B. Stored procedure
  • C. External function
  • D. Vectorized User-Defined Table Function (UDTF)

正解:D

解説:
This scenario requires a specific combination of Snowflake's extensibility features: the ability to run Python (pandas) code, the ability to return multiple rows for a single input (tabular output), and high performance through vectorization.
A User-Defined Table Function (UDTF) is the correct architectural choice when an input value needs to be expanded into a set of rows. While a standard UDF returns exactly one value per input row, a UDTF can return zero, one, or many rows, making it ideal for "parsing" or "splitting" tasks. By using a Vectorized UDTF (specifically utilizing the Python handler with pandas), the Analyst can process blocks of rows as pandas DataFrames or Series. This is significantly more efficient than processing one row at a time because it reduces the overhead of the Snowflake-to-Python execution engine.
Evaluating the Options:
* Option A is incorrect because a standard UDF can only return a single scalar value per input row, making it impossible to "return multiple rows of parsed output."
* Option C is incorrect because External Functions are used to call code hosted outside of Snowflake (like an AWS Lambda). While they can process data, they introduce network latency and are not the native way to run pandas code for internal joins.
* Option D is incorrect because Stored Procedures are generally used for administrative tasks and procedural logic. While they can return tables, they cannot be directly "joined" with other tables in a standard SELECT statement in the same way a UDTF can.
* Option B is the correct choice. It satisfies the requirement for pandas integration, provides the necessary multi-row output via the process and end_partition methods, and allows the analyst to use the LATERAL keyword to join the parsed results directly with existing tables in a single SQL statement.


質問 # 25
You're working with time series data in Snowflake, specifically website traffic data with timestamps and page views. You need to calculate the cumulative page views for each day. However, the data contains missing timestamps, and you want to fill those gaps with a default page view count of 0 before calculating the cumulative sum. Which of the following approaches, used in conjunction with a cumulative SUM aggregate function, is MOST efficient?

  • A. Create a separate table containing all dates in the range and LEFT JOIN it with the website traffic data, using COALESCE to fill missing page views with 0 before applying the cumulative SUM.
  • B. Use a recursive CTE (Common Table Expression) to generate the missing dates and then UNION ALL with the existing data, filling missing page views with 0 using NVL, prior to applying the cumulative SUM.
  • C. Use a stored procedure to iterate through the date range, inserting missing dates with a page view count of O before applying the cumulative SUM.
  • D. Use a LATERAL FLATTEN function to generate a list of dates, LEFT JOIN it with the website traffic data, and use ZEROIFNULL to fill missing page views with 0 before the cumulative SUM.
  • E. Use the 'GENERATE_SERIES' function (if available via UDF) to create a series of dates, LEFT JOIN with the website traffic data, and use COALESCE to fill missing page views with 0 before the cumulative SUM.

正解:A

解説:
Creating a separate date table and using a LEFT JOIN with COALESCE is the most efficient approach. Stored procedures (A) are generally slower for large datasets. Recursive CTEs (C) can be resource-intensive. Using UDFs or Lateral Flatten (D & E) may also increase complexity and overhead compared to a simple JOIN. The key is to leverage Snowflake's ability to handle joins efficiently.


質問 # 26
You are analyzing customer order data in Snowflake. A column 'ORDER DATE' is stored as VARCHAR. You notice inconsistencies: some dates are in 'YYYY-MM-DD' format, others in 'MM/DD/YYYY', and some have missing values represented by 'N/A'. You need to standardize the 'ORDER DATE' column into a DATE format and handle missing values. What is the most efficient and robust Snowflake SQL statement to achieve this, ensuring no data is lost and that invalid dates are replaced with NULL?

  • A. Option D
  • B. Option C
  • C. Option E
  • D. Option B
  • E. Option A

正解:C

解説:
Option B is the most robust and efficient because it uses REGEXP LIKE to validate the date formats before attempting to convert them using TRY_TO_DATE. It also directly creates a temporary table to perform the transformation, minimizing the risk of data loss during the process. Then the old table is replaced with the content of the temp table.


質問 # 27
A retail company wants to visualize sales performance across different product categories and regions. The business stakeholders need to identify both overall sales trends and granular insights into the performance of specific products in specific regions. They require a dashboard that allows for easy comparison of sales across categories and regions, highlighting best and worst performers. Which combination of chart types would be MOST effective for this dashboard, considering scalability and the need to avoid over-plotting?

  • A. A scatter plot comparing sales volume and profit margin for each product, a bar chart for sales by region, and a gauge chart indicating overall sales target achievement.
  • B. A combination of bullet charts to show sales performance against targets for each region and category, a time series chart for overall sales trend, and a scatter plot showing discount vs quantity.
  • C. A stacked bar chart for sales by category, a line chart for overall sales trend over time, and a pie chart for regional sales distribution.
  • D. A geographical map visualizing sales by region with color-coded regions, a time series chart for overall sales trends, and a detail table for viewing sales by product categories.
  • E. A heat grid showing sales by category and region, a time series chart for overall sales trends, and a treemap representing the contribution of each category to total sales.

正解:E

解説:
A heat grid effectively visualizes the relationship between two categorical variables (category and region) using color intensity, making it easy to identify high and low sales areas. A time series chart is appropriate for displaying trends over time. A treemap shows the proportional size of each category contributing to total sales. Stacked bar charts can become difficult to read with many categories and pie charts are not ideal for precise comparisons. Scatter plots are useful for correlation analysis (Sales vs Profit). A map would be good for high level visualization but not for specific numbers or precise details. Bullet charts are more suitable for target vs actual comparisons than a regional overview.


質問 # 28
When summarizing large data sets using Snowsight dashboards, what distinguishes them in handling complex data structures?

  • A. They simplify complex data structures for better comprehension.
  • B. Snowsight dashboards can't handle complex data structures efficiently.
  • C. Snowsight dashboards only present textual summaries.
  • D. They limit data representation options for complex structures.

正解:A

解説:
Snowsight dashboards aid in simplifying complex data structures for better comprehension.


質問 # 29
You are loading data into a Snowflake table 'PRODUCT PRICES' using the COPY INTO command from a Parquet file stored in Azure Blob Storage. The 'PRODUCT PRICES' table has the following schema: VARCHAR, PRICE CURRENCY VARCHAR, LAST UPDATED TIMESTAMP NTZ. The Parquet file contains all these columns, but the 'LAST UPDATED column is stored as a Unix epoch timestamp (seconds since 1970-01-01 00:00:00 UTC). You need to transform the Unix epoch timestamp to a Snowflake TIMESTAMP NTZ during the data load. Which of the following options correctly demonstrates how to achieve this using a transformation within the COPY INTO command?

  • A.
  • B.
  • C.
  • D.
  • E.

正解:A

解説:
The correct answer is C. When using transformations with COPY INTO and an external stage, you must explicitly select the columns using '$1', '$2, etc. The gazure_stage/data.parquet' path is used in the 'FROM' clause, and converts the fourth column (LAST_UPDATED) from the Parquet file to a Snowflake TIMESTAMP. Note: It assumes column ordering in the Parquet file matches the order in the select statement. Using a SELECT statement within the FROM' clause is the correct approach when applying transformations directly during the COPY. The other options are incorrect because they either use the deprecated 'TRANSFORMATION' parameter (now replaced by select statements in the FROM clause) or attempt to apply transformations incorrectly. This is the only answer that is correct and will work. Options A, B, D, and E will all fail during the COPY INTO statement.


質問 # 30
Your organization is migrating a large on-premise data warehouse (100 TB) to Snowflake. The existing data warehouse contains complex data transformations implemented in stored procedures. During the migration, you need to minimize downtime and accurately estimate the data volume transferred to Snowflake. You decide to use a hybrid approach with both batch and incremental loading. Which of the following strategies would be MOST appropriate?

  • A. Perform a full batch load of the historical data using Snowpipe from a cloud storage location. After the initial load, implement a change data capture (CDC) solution using a third-party tool (e.g., Debezium, Qlik Replicate) to incrementally load changes into Snowflake.
  • B. Implement a custom ETL pipeline using Apache Spark to extract data from the on-premise data warehouse, perform transformations, and load the data into Snowflake using the Snowflake JDBC driver. Continuously run Spark jobs to keep the data synchronized.
  • C. Create external tables pointing to the on-premise data warehouse. Run queries directly against the external tables to transform and load the data into Snowflake. Once all data is loaded, drop the external tables. Use 'TABLE_SIZE function for sizing calculation.
  • D. Use Snowflake's Data Exchange to directly replicate the on-premise data warehouse to Snowflake. Rely on Data Exchange's built-in monitoring to track the data volume transferred.
  • E. Utilize Snowflake Connectors (e.g., Kafka connector) to stream data directly from the on-premise data warehouse to Snowflake. Implement a data replication tool to handle the initial data load and ongoing synchronization.

正解:A

解説:
Option B is the most appropriate strategy. It allows for a faster initial load using Snowpipe, leveraging the scalability of cloud storage. Implementing a CDC solution minimizes downtime and ensures data synchronization after the initial load. The combined approach addresses both the large data volume and the need for continuous updates.


質問 # 31
......

Snowflake DAA-C01公式認定ガイドPDF:https://jp.fast2test.com/DAA-C01-premium-file.html

無料SnowPro Advanced DAA-C01公式認定ガイドPDFダウンロード:https://drive.google.com/open?id=1peaeO45M5ImfolIkrKvZUj5EJ9RQETft


弊社を連絡する

我々は12時間以内ですべてのお問い合わせを答えます。

我々の働いている時間: ( GMT 0:00-15:00 )
月曜日から土曜日まで

サポート: 現在連絡 

English Deutsch 繁体中文 한국어